主キーがいくつかの他のテーブルで使用され、他のテーブルにいくつかの外部キーがあるテーブルがあります。MySQLいくつかの外部キーの削除
CREATE TABLE location (
locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY
...
) ENGINE = InnoDB;
CREATE TABLE assignment (
assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
locationID INT NOT NULL,
FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID)
...
) ENGINE = InnoDB;
CREATE TABLE assignmentStuff (
...
assignmentID INT NOT NULL,
FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID)
) ENGINE = InnoDB;
問題は、外部キー列(つまり、locationIDX)の1つを削除しようとすると、エラーが発生することです。
"ERROR 1025(HY000):名前変更のエラー"
どのように私はこのエラーを取得することなく、上記の割り当てテーブルに列をドロップすることができますか?
これは私の問題でした。私は今、親切な気分になります。他の誰かがこの問題を抱えている場合は、SHOW CREATE TABLE関数を使用して外部キー制約名を見つけることができます。 – Drew
それは私のために働いた – bynu022
ヒント: 'SHOW CREATE TABLE footable;'を使用して、制約の名前を確認します。それは列ごとの名前ではありません。答えをありがとう! –