227 votes

Touches de MySQL supprimant certains étrangers

J’ai une table dont la clé primaire est utilisée dans plusieurs autres tables et a plusieurs clés étrangères aux autres tables.

Le problème est que quand je suis en train de laisser tomber une des colonnes clés étrangères (c’est à dire locationIDX) il me donne une « erreur 1025 (HY000) : erreur sur Renommer » erreur.

Comment puis-je supprimer la colonne dans le tableau d’affectation ci-dessus sans obtenir cette erreur ?

520voto

pugmarx Points 1956

Comme expliqué ici, semble que la contrainte de clé étrangère a dû être abandonné par le nom de contrainte et pas le nom de l’index. La syntaxe est :

J’espère que cela aide.

21voto

zombat Points 46702

Les clés étrangères sont là pour assurer l’intégrité des données, donc vous ne pouvez pas supprimer une colonne tant il fait partie d’une clé étrangère. Vous devez supprimer la clé de tout d’abord.

Je pense que ferait la requête suivante :

4voto

Voici une façon de laisser tomber la contrainte de clé étrangère, cela fonctionnera. ALTER TABLE . DROP FOREIGN KEY `` ;

0voto

Ronald Wildenberg Points 18258

Vous ne pouvez pas déposer la colonne clé étrangère parce qu’elle est référencée dans la table . Donc vous devez commencez par supprimer la contrainte de clé étrangère .

Une question similaire a déjà été posée ici. Vérifiez également ici pour plus d’informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X