Erreur MySQL 1022 : clé en double dans la table
Scénario :
Lors de la tentative de création une table, vous rencontrez une erreur 1022 déroutante indiquant une violation de contrainte de clé en double. Malgré l'examen de la requête, la source de la duplication reste insaisissable.
Explication :
Bien que le message d'erreur mentionne une clé en double dans la table usercircle, la cause peut en être la cause. dans une autre partie du schéma de base de données. Les contraintes, telles que les contraintes de clé étrangère et de clé unique, doivent être uniques dans l'ensemble de la base de données, et pas seulement dans une seule table.
Solution :
Identifier les contraintes en double :
SELECT `TABLE_SCHEMA`, `TABLE_NAME` FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');
Renommer les contraintes en double :
Recréer la table :
En suivant ces étapes, vous pouvez résoudre l'erreur 1022 et créer avec succès la table souhaitée sans contraintes de clé en double.
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!