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

MySQL エラー 1452: 外部キー制約違反を解決するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-22 15:15:15
オリジナル
617 人が閲覧しました

MySQL Error 1452: How Do I Resolve Foreign Key Constraint Violations?

外部キー制約違反: MySQL のエラー 1452 について

MySQL エラー 1452、「子行を追加または更新できません: 外部キー」制約が失敗しました」というエラーは、外部制約に違反しているときに子テーブルにデータを挿入または変更しようとすると発生します。重要な関係。このエラーは、親テーブルで参照されているレコードが見つからないか、無効であることを示します。

説明したシナリオでは、sourcecodes_tags テーブルに外部キーを追加して、sourcecodes テーブルを参照しようとしています。ただし、競合の可能性があるため失敗します。

この問題を解決するには、まず、sourcecodes_tags テーブルに孤立したレコードがあるかどうかを確認する必要があります。孤立したレコードは、ソースコード テーブルに存在しない行を参照するレコードです。

孤立したレコードを検索するには、次のクエリを実行します。

SELECT DISTINCT sourcecode_id
FROM sourcecodes_tags tags
LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id
WHERE sc.id IS NULL;
ログイン後にコピー

このクエリは、ソース コード ID をリストします。親テーブルには存在しません。

孤立したレコードを特定したら、sourcecodes_tags から削除できます。 DELETE ステートメントを使用してテーブルを作成します。孤立したレコードを削除した後、外部キー制約を正常に追加できます。

さらに、有効なソース コード ID をsourcecodes_tags テーブルに挿入していることを確認することが重要です。挿入された ID がソースコード テーブルに存在しない場合、エラー 1452 が発生します。

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

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