ホームページ >データベース >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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。