我有一个简单的删除查询,我有两个表table1和table2
查询是
DELETE FROM table1
WHERE end_time NOT IN (SELECT end_time
FROM table2
WHERE comp_name = 'component')
AND id = 'id'
查询不会删除记录我在这里缺少的内容我试图用第二个来更改第一个条件,但是它在不检查条件2的情况下删除了
这里有什么选择?
我想知道查询在运行时没有错误的实际问题是什么,但这是不正确的。
alias
由于两个表的列名相同,可能应该解决您的问题end_time
。Outer query
列可以在里面引用subquery
可能是问题所在。
DELETE FROM table1
WHERE end_time NOT IN (SELECT b.end_time
FROM table2 B
WHERE b.comp_name = 'component')
AND id = 'id'
更新:请尝试执行此删除操作,因为null
子查询中可能会有值,该值NOT IN
将失败。检查此帖子链接
DELETE a
FROM table1 a
WHERE NOT EXISTS (SELECT 1
FROM table2 B
WHERE b.comp_name = 'component'
AND a.end_time = b.end_time)
AND id = 'id'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句