2014-06-12 5 views
0

(caveat: Je ne suis pas un pro MySQL, j'utilise Workbench au lieu de connaître les commandes, alors ma question est probablement facile)MySQL Workbench, l'abandon des clés étrangères

J'essaie de renommer une clé primaire (userID) dans une table (utilisateur), mais MySQL ne me laissera pas (errno 150). Après quelques recherches, il apparaît que je dois d'abord déposer les clés étrangères avant de renommer ma clé primaire. Donc, dans Workbench, je vais à la table suivante (question) et choisissez alter table, puis allez dans l'onglet Foreign Keys. Je sélectionne la seule clé étrangère dans la fenêtre de gauche (fk_Question_user), désélectionne la seule case dans la fenêtre du milieu (userID), puis appuie sur Apply. Workbench donne l'erreur 1050 "table" question "existe déjà" (bien sûr, il existe déjà, j'essaie de l'éditer). Quoi qu'il en soit, toute aide est grandement appréciée.

Répondre

0

Sur la page des préférences Requêtes SQL, vous pouvez activer l'assistant de changement de données qui vous indique ce qui sera envoyé au serveur pour vérification (Confirmer les modifications de données).

enter image description here

Avec qui vous permettent devriez voir ce que MySQL Workbench envoie au serveur. Il ne devrait pas faire un CREATE TABLE cependant.

+0

merci pour cette idée. Confirmer les modifications de données est déjà activé. Après avoir posté, j'ai essayé plusieurs méthodes alternatives de laisser tomber la clé étrangère, tout semblait échouer. Je me suis connecté ce matin, et la clé étrangère n'est plus là! (Argh). Donc, à un moment donné, MySQL a accepté le changement, je ne sais pas quand. Je dois laisser tomber encore quelques clés étrangères aujourd'hui, alors je vous tiendrai au courant! –

0

Je l'ai compris. Plutôt que de décocher le champ dans le volet central de l'onglet des clés étrangères, la manière correcte de le faire est de sélectionner la clé étrangère dans le volet de gauche, puis de supprimer dans le menu contextuel et d'appliquer.