ホームページ > データベース > mysql チュートリアル > 外部キーを追加する際の MySQL 外部キー制約エラーを解決するにはどうすればよいですか?

外部キーを追加する際の MySQL 外部キー制約エラーを解決するにはどうすればよいですか?

DDD
リリース: 2024-11-30 15:58:14
オリジナル
972 人が閲覧しました

How to Resolve MySQL Foreign Key Constraint Errors When Adding a Foreign Key?

MySQL テーブルの外部キー追加エラーの修正

問題:

既存のテーブルに外部キーを追加したいと考えています。 MySQL テーブルですが、次のような問題が発生しますエラー:

***Error Code: 1005. Can't create table 'mytable.#sql-7fb1_7d3a' (errno: 150)***
***Error in foreign key constraint of table mytable.#sql-7fb1_7d3a:***
FOREIGN KEY (`Sprache`) REFERENCES `Sprache` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL:
ログイン後にコピー

解決策:

エラーを解決するには、参照しているテーブルが実際に存在し、正しい列名があることを確認してください。このエラーは、Sprache テーブルが存在しないか、ID という名前の列がないことを示しています。

改訂されたクエリ:

ALTER TABLE katalog
ADD CONSTRAINT fk_katalog_sprache
FOREIGN KEY (`Sprache`)
REFERENCES Sprache(ID)
ON DELETE SET NULL
ON UPDATE SET NULL;
ログイン後にコピー

追加メモ:

  • 両方のテーブル (katalog と Sprache) は InnoDB であり、対応するテーブルが必要です参照される列のデータ型 (INT(11) および NOT NULL)。
  • 制約を追加する前に、katalog テーブルの外部キー列 (Sprache) に NULL 値を含めることはできません。
  • Sprache テーブル内の参照される列 (この場合は ID) は主キーである必要があります。

全般外部キー追加構文:

ALTER TABLE <table_name>
ADD FOREIGN KEY (<column_name>)
REFERENCES <foreign_table_name>(<foreign_column_name>);
ログイン後にコピー

これらの改訂された手順に従うことで、MySQL の katalog テーブルに外部キーを正常に追加できるはずです。

以上が外部キーを追加する際の MySQL 外部キー制約エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート