在MySQL 中刪除外鍵
嘗試修改具有外鍵約束的表時,使用者可能會遇到阻止刪除特定外鍵的錯誤。當在 DROP FOREIGN KEY 語句中使用索引名稱而不是約束名稱時,會出現此問題。
考慮以下範例:
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 外鍵,正確的語法是:
ALTER TABLE assignment DROP FOREIGN KEY locationIDXconstraint;
注意:
注意: locationIDXconstraint 必須替換為實際的約束名稱。 透過指定約束名稱而不是索引名稱,可以成功刪除外鍵約束,不會遇到錯誤。以上是如何在 MySQL 中刪除外鍵而不出錯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!