2017-12-20 3 views
1

C#を使用してSQL Serverからレコードを削除したいのに機能しませんでした。エラーメッセージは次のようになります。外部キーと矛盾しています

DELETEステートメントがREFERENCE制約 "FK_Waskat_table_User_table"と競合しました。競合は、データベース "Tailor_db"、テーブル "dbo.Waskat_table"、列 "Uid"で発生しました。ステートメントは終了されました。

{ 
    Sqlcommand cmd = new sqlcommond("DELETE FROM User_table WHERE ID ="+txtid.text,con); 
    Sqlcommand cmd = new sqlcommond("DELETE FROM Waskat_table WHERE ID ="+txtid.text,con); 
} 
+0

から詳細を知ることができ、例えばここを見てhttps://stackoverflow.com/questions/3776269/i-got-error -the-delete-statement-reference-constraint-constraint- – MethodMan

+1

最初に 'Waskat_table'からIdを削除してから、' User_table'から削除してみてください。削除シーケンスを逆にして、それが役立つかどうか確認してください。私はちょうど初心者ですので間違っているかもしれません – Unbreakable

+0

あなたはSQLインジェクションとそれを回避する方法についてお読みください。 http://bobby-tables.com/csharp – pmcilreavy

答えて

0

削除しようとしているIDは、その外部キーとして別のテーブルに存在します。したがって、そのテーブルから子の外部キーを削除するまで、マザー・テーブル・データは削除できません。また、外部キーをON DELETE NO ACTIONとして調整することもできます。

ありStackOverflow questionでより多くのであり、あなたがエラーでGoogle検索を行う必要がありますMSDN

関連する問題