首頁 >資料庫 >mysql教程 >如何在 MySQL 中刪除外鍵而不出錯?

如何在 MySQL 中刪除外鍵而不出錯?

DDD
DDD原創
2024-11-12 17:36:02410瀏覽

How Do I Drop Foreign Keys in MySQL Without Errors?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn