Voici une copie de mon erreur:MySQL alter génération de table « erreur sur renommage »
mysql> ALTER TABLE Price DROP FOREIGN KEY Id
ERROR 1025 (HY000): Error on rename of '.\testdb\Price' to '.\t
estdb\#sql2-bcc-16' (errno: 152)
J'ai lu this page ce qui suggère que le problème peut être dû à une table sur gauche de certaines modifier plus tôt la table erreur, et vous recommande de fouiller dans votre répertoire de données et supprimer toute table avec un nom tel que 'B-xxx.frm'.
Mon erreur est similaire à ceci, mais il n'y a pas de # # sql2-bcc-16 dans mon répertoire de données. Et il n'y aurait pas d'artefacts d'une précédente table d'échecs, de toute façon, parce que c'est juste une petite base de données de test et que je n'ai pas modifié de tables auparavant.
EDIT: Plus d'infos ci-dessous.
Ce que je veux vraiment faire est de changer un Id (clé primaire) dans une autre table pour être un SMALLINT (au lieu d'un TINYINT). Cependant, l'ID de cette table téléphonique est une clé étrangère, référençant l'ID dans l'autre table. Donc, je crois que j'ai besoin de laisser tomber la clé étrangère de cette table avant de procéder au changement de type dans la table primaire. J'espère que ceci est clair.
EDIT 2: Tables.
Vente - a Id TINYINT NOT NULL, clé primaire (Id)
Téléphone - a Id TINYINT NOT NULL, FOREIGN KEY (Id) RÉFÉRENCES Vente (Id)
Je voudrais que tous Ids dans mon base de données à être SMALLINT et non TINYINT. C'est ma situation actuelle.
Le haut de mon poste ne cesse de disparaître. Il dit "Salut à tous, ..." Quelqu'un nommé "thinksteep" continue d'éditer mon post. – MitchellSalad
Je crois que l'Id est la clé primaire dans une autre table ... non? –
Fahim - correct! Je mettrai à jour OP avec des informations plus pertinentes. – MitchellSalad