Maison >base de données >tutoriel mysql >Impossible de tronquer une table référencée dans une contrainte de clé étrangère - Comment résoudre l'erreur MySQL : Impossible de tronquer une table référencée dans une contrainte de clé étrangère
Titre : Impossible de tronquer la table référencée par la contrainte de clé étrangère - Comment résoudre l'erreur MySQL
Résumé :
Lors de l'utilisation du système de gestion de base de données MySQL, on rencontre souvent le problème de ne pas pouvoir tronquer la table référencée par la contrainte de clé étrangère. Cet article détaillera la cause de cette erreur et fournira des solutions, y compris des exemples de code spécifiques, pour aider les lecteurs à mieux comprendre et résoudre ce problème.
Texte :
(1) Rechercher les contraintes de clé étrangère associées :
Vous pouvez obtenir les informations de clé étrangère de la table référencée en interrogeant la table REFERENTIAL_CONSTRAINTS dans la base de données information_schema. Le code ci-dessous montre comment trouver les contraintes de clé étrangère associées.
SELECT CONSTRAINT_NAME, TABLE_NAME, REFERENCED_TABLE_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE REFERENCED_TABLE_NAME = '被引用表名';
(2) Supprimer les contraintes de clé étrangère :
Selon le nom de la contrainte de clé étrangère obtenu à l'étape précédente, nous pouvons utiliser l'instruction ALTER TABLE pour supprimer la contrainte de clé étrangère. Un exemple est le suivant :
ALTER TABLE 指向表名 DROP FOREIGN KEY 外键约束名称;
(3) Tronquer la table :
Après avoir libéré les contraintes de clé étrangère, nous pouvons utiliser l'instruction TRUNCATE TABLE pour tronquer la table référencée. Un exemple est le suivant :
TRUNCATE TABLE 被引用表名;
(4) Rétablir les contraintes de clé étrangère :
Enfin, nous pouvons utiliser l'instruction ALTER TABLE pour rétablir les contraintes de clé étrangère afin d'assurer la cohérence des données. Un exemple est le suivant :
ALTER TABLE 指向表名 ADD CONSTRAINT 外键约束名称 FOREIGN KEY (外键字段) REFERENCES 被引用表名(主键字段);
(Remarque : veuillez modifier le nom de la table et le nom du champ dans l'exemple de code ci-dessus en fonction de la situation réelle)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!