既存のテーブルでの外部キー作成のトラブルシューティング
テーブルに外部キーを追加しようとすると、「エラー コード: 1005」はテーブル解決の問題を示しています。問題を調査して解決策を提供しましょう:
エラーの原因
エラーは、ALTER TABLE ステートメントの実行時に MySQL がテーブル名「Sprache」を解決できないために発生します。 。このテーブルは、一時テーブル名「mytable.#sql-7fb1_7d3a」が前に付いているため認識されません。
MySQL 5.1.61 以前のソリューション
の場合MySQL バージョン 5.1.61 以下では、次の変更された ALTER TABLE を使用して問題を解決できます。構文:
ALTER TABLE katalog ADD FOREIGN KEY (Sprache) REFERENCES Sprache (ID) ON DELETE SET NULL ON UPDATE SET NULL;
「Sprache」の代わりに、外部キーとして使用される実際のフィールド名が使用されていることを確認します。
注: MySQL を使用している場合5.1.61 以降のバージョンでは、「ON DELETE SET NULL」句に関連する別のエラーが発生する可能性があります。このような場合は、特定の MySQL バージョンに該当するドキュメントを参照してください。
以上が既存のテーブルに外部キーを追加するときに発生する MySQL エラー 1005 を修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。