INSERT ステートメントが FOREIGN KEY 制約と競合しています - SQL Server 質問する

INSERT ステートメントが FOREIGN KEY 制約と競合しています - SQL Server 質問する

メッセージ 547、レベル 16、状態 0、行 1
INSERT ステートメントが FOREIGN KEY 制約 "FK_Sup_Item_Sup_Item_Cat" と競合しました。競合はデータベース "dev_bo"、テーブル "dbo.Sup_Item_Cat" で発生しました。ステートメントは終了しました。

insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id, 
                      status_code, last_modified_user_id, last_modified_timestamp, client_id)   
values (10162425, 10, 'jaiso', '123123',
        'a', '12', '2010-12-12', '1062425')

最後の列がエラーの原因です。sup_itemに対応する列client_idに、すでに存在する値を入れようとしました。dbo.Sup_Item_Cat

ベストアンサー1

テーブルdbo.Sup_Item_Catには、別のテーブルへの外部キー参照があります。FK の動作は、参照先のテーブルの主キー列にない値をその列に含めることができないというものです。

SQL Server Management Studio をお持ちの場合は、それを開いてsp_help' dbo.Sup_Item_Cat' を実行します。FK がどの列にあるか、どのテーブルのどの列を参照しているかを確認します。不正なデータを挿入しています。

おすすめ記事