SQL Server 2008中的内部联接删除?

SQL Server 2008中的内部联接删除?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在尝试将两个表连接在一起并对其执行删除操作 DELETE TableA FROM TableA a INNER JOIN TableB b on b.Id = a.Id where title like 'test' 以上是我想出的,但我一直得到 DELETE语句与引用约束冲突 我想如果我将这两个表合并在一起,那么我将同时删除这两个表,并且没有任何约束冲突 我的查询中缺少什么吗?首先尝试删除带有该标题条件的TableB 然后删除表A中的记录 DELETE FROM TableB WHE

我正在尝试将两个表连接在一起并对其执行删除操作

DELETE TableA 
FROM TableA a
INNER JOIN
TableB b on b.Id = a.Id
where title like 'test' 
以上是我想出的,但我一直得到

DELETE语句与引用约束冲突

我想如果我将这两个表合并在一起,那么我将同时删除这两个表,并且没有任何约束冲突


我的查询中缺少什么吗?

首先尝试删除带有该标题条件的
TableB
然后删除表A中的记录

DELETE FROM TableB
WHERE Id IN 
( SELECT Id FROM TableA WHERE title = 'test')

DELETE FROM TableA
WHERE title = 'test'

引用约束阻止您删除
表A
中的行,而
表B中仍有引用

我将使用级联约束逐个删除。

尝试以下操作:

DELETE TableA 
FROM TableA 
INNER JOIN
TableB b on b.Id = TableA.Id
where TableA.title like 'test'

只有一个表需要删除(此处为表A)。此语法仅用于筛选要删除的行。您对级联删除有限制吗?如果你能加上这一点,那么它将有助于这些信息。我正在考虑级联,但我认为我必须改变表格,我不想触及表格的设计。如果有可能设置它的飞行,那么我会这样做。对不起。我可能应该做一个测试。表B没有标题栏。TableB是一个映射表,所以它只包含将几个表映射到一起的数据。在我的查询中,我只在TableA中查找标题列。啊,我明白了。仍在获取这两个表之间的外键约束。我看到TableB有另一个外键,但它并没有抱怨那个外键。