mysql supprime les données d'index de chaîne étrangère, impossible de supprimer ou de mettre à jour une ligne parente: une contrainte de clé étrangère échoue solution du problème

mysql supprime les données d'index de lien externe

Impossible de supprimer ou de mettre à jour une ligne parente: une contrainte de clé étrangère échoue La solution au problème
Requête: DELETE FROM goodsWHERE goods_id= '11'
Code d'erreur: 1451
Impossible de supprimer ou de mettre à jour une ligne parente: une contrainte de clé étrangère échoue ( webDB. goods_properties_detail, CONSTRAINT FK_rip_43FOREIGN KEY ( goods_id) REFERENCES goods( goods_id)) Ce qui
précède est dû au fait qu'un certain champ de l'enregistrement est utilisé comme lien externe vers une autre table dans InnoDB. Le lien externe sera automatiquement vérifié lors de l'opération de suppression.
Solution 1: déterminez d'abord de supprimer les données associées, puis supprimez (cela est plus conforme à la logique métier et plus sûr).

Solution 2: ne vérifiez pas les liens externes, définissez la variable FOREIGN_KEY_CHECKS:

SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM `goods` WHERE `goods_id` = '11'

Définir après suppression

SET FOREIGN_KEY_CHECKS = 1;

ps: désactiver la vérification d'unicité

set unique_checks=0;
set unique_checks=1;

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45627031/article/details/114759038
conseillé
Classement