Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur MySQL :1395 Impossible de supprimer de la vue de jointure

La documentation MySQL indique :

MySQL fonctionne comme prévu et vous empêche de vous tirer une balle dans le pied ici. Essentiellement, le nombre de lignes qui seraient supprimées de votre vue ne correspond pas au nombre de lignes qui seraient supprimées des tables sous-jacentes. Aussi, voulez-vous supprimer la photo, l'apparence, la personne ou le photographe ? Ou tous ? Ou seulement certains d'entre eux ? MySQL n'en est pas sûr non plus, il n'autorise donc pas l'opération.

En gardant cela à l'esprit, exécutez cette requête :

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

Si le résultat est autre que "OUI", vous voudrez peut-être envisager de repenser votre vue. L'autre option serait de supprimer directement des tables sous-jacentes.

C'est aussi une bonne idée de créer une vue pouvant être mise à jour à l'aide de la clause "WITH CHECK OPTION". Cela empêche les UPDATE ou les INSERT dans les tables sous-jacentes, à l'exception de celles qui remplissent les conditions définies dans la clause WHERE de la vue. Ou dans votre cas, empêchez Fred de jouer avec les photos de Bob.