Comment modifier une table MySQL de la clé étrangère en utilisant la ligne de commande
Comment modifier une table existante dans MySQL, réglage de la clé étrangère d'une autre table, en utilisant la ligne de commande?
J'ai essayé d'utiliser google, et il n'a pas trouver quelque chose qui couvre ce cas précis. Je sais le faire dans MySQL Administrator, ou à créer une table avec clé étrangère, mais je ne sais pas ce en question.
Veuillez noter que vous pouvez trouver la documentation du produit dans Google avec
Veuillez noter que vous pouvez trouver la documentation du produit dans Google avec
mysql 5.7 alter table
.OriginalL'auteur el ninho | 2012-06-17
Vous devez vous connecter pour publier un commentaire.
Vous avez à déplacer existant
foreign key
et en créer un autre. Par exemple, comme ceci:ALTER TABLE my_table DROP ..., ADD ...
j'ai eu une erreur, errno: 121 "clé en Double lors de l'écriture ou de mise à jour". Ai-je raté quelque chose, ou il est en effet impossible de combiner ces requêtes?OriginalL'auteur WojtekT
Exécuter
help alter table
àmysql
invite de commande et la sortie est très explicite.Recherchez
add constraint
avecforeign key
clause et de l'appliquer sur votre table.OriginalL'auteur Ravinder Reddy
J'ai été en mesure de réaliser la même chose par :
OriginalL'auteur sokoya_philip
Si vous avez plusieurs clés étrangères enchaînés et vous obtenez une erreur qui se termine avec
errorno 15x
il veut probablement dire qu'il y a des autres tables qui dépendent de la clé étrangère que vous tentez de chute.À la baisse de la clé étrangère quand vous obtenez une erreur, vous aurez besoin de faire
SET FOREIGN_KEY_CHECKS = 0;
et ensuite vous devez d'abord supprimer les clés étrangères des tables qui n'ont pas d'autres tables qui en dépendent. Vous pouvez ensuite réussi à supprimer les clés étrangères sur le tableau suivant dans la chaîne, et ainsi de suite.Lorsque vous avez terminé, assurez-vous d'exécuter
SET FOREIGN_KEY_CHECKS = 1;
de nouveau.OriginalL'auteur Alex W