sql >> Base de Datos >  >> RDS >> Mysql

Error de MySQL:1395 No se puede eliminar de la vista de unión

La documentación de MySQL dice:

MySQL está funcionando según lo diseñado y evita que te dispares en el pie aquí. Básicamente, la cantidad de filas que se eliminarían de su vista no coincide con la cantidad de filas que se eliminarían de las tablas subyacentes. Además, ¿quieres eliminar la foto, la apariencia, la persona o el fotógrafo? ¿O todos ellos? ¿O solo algunos de ellos? MySQL tampoco lo sabe con certeza, por lo que no permite la operación.

Teniendo eso en cuenta, ejecute esta consulta:

SELECT IS_UPDATABLE
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'v1';

Si el resultado es distinto a "SÍ", quizás desee considerar rediseñar su vista. La otra opción sería eliminar directamente de las tablas subyacentes.

También es una buena idea crear una vista actualizable usando la cláusula "WITH CHECK OPTION". Esto evita las ACTUALIZACIONES o INSERCIONES en las tablas subyacentes, excepto aquellas que cumplen las condiciones definidas en la cláusula WHERE de la vista. O en su caso, evite que Fred juegue con las fotos de Bob.