既存のテーブルへの外部キーの追加
既存のテーブルへの外部キーの追加は簡単な作業ですが、エラーが発生する場合があります。不適切な構文またはテーブル構成の問題が原因です。
この特定のシナリオでは、ユーザーが「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 サイトの他の関連記事を参照してください。