2017-02-19 18 views
-1

エラー:上記のエラーのためINSERT文と外部キー

The INSERT statement conflicted with the FOREIGN KEY constraint "fk_anm_intake_code". The conflict occurred in database "J.Does", table "dbo.intake_codes", column 'intake_code'. The statement has been terminated.

スクリプト:

insert into animals 
(anm_name,anm_species,anm_breed,anm_age,anm_gender,anm_size,anm_spayorneuter,anm_intake_date,anm_intake_code,anm_notes) 
values 
('Tom', 'Canine', 'Mix.pit/Poodle', 8.80, 'M', 'SM', 'Y', 12/23/16,'C', 'Needs additional water/Hoursebroken'), 
('Chi', 'Feline', 'House', 0.80, 'F', 'SM', 'Y', 11/11/16, 'F', 'Very affectionate'), 
('Lin', 'Canine', 'Beagle', 2.30, 'M', 'SM', 'N', 1/17/16, 'B', 'Hoursebroken/loves to play ball'), 
('Frisky', 'Feline', 'Mix.pit/Poodle', 11.50, 'F', 'Med',' N', 12/2/16, 'B', 'Best in low activity home'), 
('Shady', 'Canine', 'House', 4.50, 'F', 'Med', 'Y', 1/16/17, 'C ', 'Null'), 
('Sparky', 'Canine', 'Mix.pit/Poodle', 4.10, 'F', 'Lrg', 'N', 1/17/17, 'F', 'Not housebroken/love kids/gentle'), 
('Lucy', 'Feline', 'House', 1.10, 'F', 'XL', 'Y', 12/3/16, 'E', 'Null'), 
('Blue', 'Canine', 'Lab/Pit.Mixed', 1.20, 'F', 'SM', 'N', 2/4/17, 'B', 'Not housebroken') 

が助けてください!

+1

を挿入すると、その列に挿入された値は、親テーブルに存在することを確認し修正するかもしれません – Mihai

+0

はい、私はすでに私が入れたかどうか確認します親テーブルは挿入テーブルと同じですが、動作しません。 –

+0

質問を更新し、2つのテーブル構造を含めることはできますか? –

答えて

0

dbo.intake_codesテーブルに存在しないanimals.anm_intake_codeに値を挿入しようとしている必要があります。あなたのクエリを見て

...

INSERT INTO animals (
    anm_name,anm_species,anm_breed,anm_age,anm_gender,anm_size,anm_spayorneuter,anm_intake_date,anm_intake_code,anm_notes 
) VALUES (
    'Tom', 'Canine', 'Mix.pit/Poodle', 8.80, 'M', 'SM', 'Y', 12/23/16,'C', 'Needs additional water/Hoursebroken' 
), (
    'Chi', 'Feline', 'House', 0.80, 'F', 'SM', 'Y', 11/11/16, 'F', 'Very affectionate' 
), (
    'Lin', 'Canine', 'Beagle', 2.30, 'M', 'SM', 'N', 1/17/16, 'B', 'Hoursebroken/loves to play ball' 
), (
    'Frisky', 'Feline', 'Mix.pit/Poodle', 11.50, 'F', 'Med',' N', 12/2/16, 'B', 'Best in low activity home' 
), (
    'Shady', 'Canine', 'House', 4.50, 'F', 'Med', 'Y', 1/16/17, 'C ', 'Null' 
), (
    'Sparky', 'Canine', 'Mix.pit/Poodle', 4.10, 'F', 'Lrg', 'N', 1/17/17, 'F', 'Not housebroken/love kids/gentle' 
), (
    'Lucy', 'Feline', 'House', 1.10, 'F', 'XL', 'Y', 12/3/16, 'E', 'Null' 
), (
    'Blue', 'Canine', 'Lab/Pit.Mixed', 1.20, 'F', 'SM', 'N', 2/4/17, 'B', 'Not housebroken' 
) 

...あなたは、 'C'、 'F' 'B'、および 'E' を挿入しようとしています。どの値がdbo.intake_codesにないのですか?

+0

のALTER TABLE動物 ADD制約間の競合を解決する方法であります( 'B'、 'C​​'、 'D'、 'E'、 'F'、 'N')) これは私が持っているものです –

+0

データが実際にdbo.intake_codesテーブルにあることを確認できますか?私。 SELECT * FROM dbo.intake_codesの結果は何ですか? –

+0

CHECK( 'B'、 'C​​'、 'D'、 'E'、 'F'、 'N')のanm_intake_codeは制約条件であり、これらの値のみを許可しますが、テーブルに安楽死 対象所有者 D \t所有者E \tによって放棄大 C \tで –

0

「N」intake_codedbo.intake_codesテーブルに定義されていないようです。あなたはそれはあなたが外部キーを持つテーブルに何かを挿入した場合、欠落値

insert into dbo.intake_codes(intake_code) select 'N' 
関連する問題