ホームページ > データベース > mysql チュートリアル > 「Sprache」を参照する「katalog」テーブルに外部キーを追加できないのはなぜですか?

「Sprache」を参照する「katalog」テーブルに外部キーを追加できないのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-29 17:19:09
オリジナル
842 人が閲覧しました

Why Can't I Add a Foreign Key to My

既存のテーブルへの外部キーの追加

既存のテーブルへの外部キーの追加は簡単な作業ですが、エラーが発生する場合があります。不適切な構文またはテーブル構成の問題が原因です。

この特定のシナリオでは、ユーザーが「Sprache」テーブルを参照して「katalog」テーブルに外部キー制約を追加しようとすると、エラーが発生します。エラー メッセージは、外部キー定義の "Sprache" テーブルを解決できないことを示しています。

この問題を解決するには、"katalog" テーブルと "Sprache" テーブルの両方がデータベースに存在し、正しく定義されていることを確認してください。 。外部キー制約で参照される列名が両方のテーブルに存在し、データ型が一致し、NULL でないことを確認してください。さらに、テーブル エンジンを確認してください。外部キー制約が正しく機能するには、両方のテーブルで InnoDB ストレージ エンジンを使用する必要があります。

テーブル構成が正しい場合、問題は ALTER TABLE ステートメントの構文にある可能性があります。 MySQL 5.1.61 で外部キーを追加するための正しい構文は次のとおりです。

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

列名、テーブル名、アクション句の綴りがすべて正しいことを確認してください。さらに、FOREIGN KEY 句で参照しているテーブルがデータベースに存在し、主キーが定義されていることを確認してください。

テーブルの構成を確認し、構文が適切であることを確認することで、外部キーを正常に追加できるはずです。 「katalog」テーブルへのキー制約。

以上が「Sprache」を参照する「katalog」テーブルに外部キーを追加できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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