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

modifier la table ajouter une clé étrangère échoue

La table videoCat a une ou plusieurs lignes qui violent la contrainte de clé étrangère. C'est généralement que vous avez une ligne avec une valeur pour _url qui n'existe pas dans le tableau video.

Vous pouvez le vérifier avec la requête suivante :

SELECT videoCat._url
FROM videoCat LEFT JOIN video ON videoCat._url = video.url
WHERE video.url IS NULL

MODIFIER

Par requête, voici une requête pour supprimer ces lignes embêtantes :

DELETE FROM videoCat
WHERE NOT EXISTS (
    SELECT *
    FROM video
    WHERE url = videoCat._url
)