ホームページ > データベース > mysql チュートリアル > SQL Server の「INSERT ステートメントが FOREIGN KEY 制約と競合しています」エラーを修正する方法

SQL Server の「INSERT ステートメントが FOREIGN KEY 制約と競合しています」エラーを修正する方法

Patricia Arquette
リリース: 2025-01-20 04:03:08
オリジナル
604 人が閲覧しました

How to Fix

SQL Server 外部キー制約の競合エラーのトラブルシューティング ガイド

データベースに新しいデータを挿入しているときに、次のようなエラーが発生する場合があります:

<code>Msg 547, Level 16, State 0, Line 1
INSERT 语句与 FOREIGN KEY 约束 "FK_Sup_Item_Sup_Item_Cat" 冲突。冲突发生在数据库 "dev_bo"、表 "dbo.Sup_Item_Cat" 中。语句已终止。</code>
ログイン後にコピー

エラーメッセージを理解する

このエラーは、外部キー制約違反が発生したことを示します。外部キーは、データの整合性を確保するために別のテーブルの列を参照します。このエラーは、参照先テーブルに存在しない値を挿入しようとするとスローされます。

例: Sup_Item テーブルと Sup_Item_Cat テーブル

質問で言及されているエラーの例には、Sup_Item テーブルと Sup_Item_Cat テーブルが関係しています。 Sup_Item の sup_item_cat_id 列は、Sup_Item_Cat の主キーを参照する外部キーです。このエラーは、Sup_Item_Cat に存在しない sup_item_cat_id 値を挿入しようとすると発生します。

解決策

このエラーを解決するには、外部キー列に挿入しようとしている値が参照先テーブルに存在することを確認してください。この例では、Sup_Item の client_id 列の値は、dbo.Sup_Item_Cat テーブル内の有効なクライアントに対応する必要があります。

SQL Server Management Studio の使用

SQL Server Management Studio を使用して、参照列と参照される列を識別できます。次のコマンドを実行します:

<code>sp_help 'dbo.Sup_Item_Cat'</code>
ログイン後にコピー

これにより、主キーと外部キーの関係を含む、Sup_Item_Cat テーブルの構造が表示されます。外部キー FK_Sup_Item_Sup_Item_Cat が配置されている列と、参照されているテーブルと列を確認してください。

データが外部キー制約に準拠していることを確認することで、そのようなエラーを回避し、データベース レコードの整合性を維持できます。

以上がSQL Server の「INSERT ステートメントが FOREIGN KEY 制約と競合しています」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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