Sql 已删除外键引用,删除时仍会出错

Sql 已删除外键引用,删除时仍会出错,sql,sql-server,foreign-keys,Sql,Sql Server,Foreign Keys,我有一个web应用程序,它调用一个sql脚本,试图从表1中删除一行。但是,表2引用了一个FK约束,因此这是一个错误。我手动删除了表2的引用行。(我通过查询确认它不见了。)然后我运行了应用程序,但仍然得到相同的错误!(DELETE语句与引用约束“table_2_fk”冲突。冲突发生在数据库“my_db”、表“table_2”、列“table_1_pk”中。 为什么? 表格信息 表_2包含列pk、name和表_1_pk。它包含一个FK约束表_2_FK,确保表_1_FK=表_1.pk 表_1包含pk、

我有一个web应用程序,它调用一个sql脚本,试图从表1中删除一行。但是,表2引用了一个FK约束,因此这是一个错误。我手动删除了表2的引用行。(我通过查询确认它不见了。)然后我运行了应用程序,但仍然得到相同的错误!(
DELETE语句与引用约束“table_2_fk”冲突。冲突发生在数据库“my_db”、表“table_2”、列“table_1_pk”中。

为什么?

表格信息

表_2包含列pk、name和表_1_pk。它包含一个FK约束表_2_FK,确保表_1_FK=表_1.pk

表_1包含pk、一组其他列,并且没有FK约束

删除和查询的详细信息

假设table_1.pk=1,我运行了这个语句

delete from table_2 where table_1_pk = 1
然后我询问数据库:

select * from table_2 where table_1_pk = 1

这返回了0个结果。

您应该更改代码,以便先从表2中删除,然后从表1中删除。或者可以选择向您的外键约束添加级联删除(在表1中进行删除时自动从表2中删除)


我们需要有关您的表定义的更多信息。请提供有关删除子行和确认它们已消失的查询的更多详细信息。发生约束错误的原因是仍有一个值在
表2
中引用。就这么简单。那里似乎没有任何内容。我如何摆脱它?您确定有吗那张桌子上不是另一个保存着那条记录的FK吗?
ADD CONSTRAINT [FK_Table2_table1] FOREIGN KEY([table_1_pk]) 
REFERENCES [dbo].[table1] ([table_1_fk ])
ON DELETE CASCADE