MySql Delete NOT IN - 但比较整行
Posted
技术标签:
【中文标题】MySql Delete NOT IN - 但比较整行【英文标题】:MySql Delete NOT IN - but compare entire rows 【发布时间】:2013-12-26 00:24:39 【问题描述】:这个应该比较简单。我翻遍了 mysql 文档,找不到相关信息。
场景很简单。我有一个有 3 列的表。都是复合唯一键,所有键加在一起必须是唯一的才能成为有效行。
如何在此设置中使用 DELETE NOT IN?
我尝试了类似的方法:
DELETE FROM my_table WHERE (col1,col2,col3) NOT IN (val1,val2,val3), (val4,val5,val6)
如您所见,我想匹配值集,而不一定是值本身。
想法?
【问题讨论】:
【参考方案1】:IN
或 NOT IN
后面必须跟一个列表。比较多列时,列表中的项目本身就是带括号的列表。所以:
DELETE FROM my_table
WHERE (col1,col2,col3) NOT IN ((val1,val2,val3), (val4,val5,val6));
【讨论】:
啊。我很接近,但没有雪茄。谢谢!以上是关于MySql Delete NOT IN - 但比较整行的主要内容,如果未能解决你的问题,请参考以下文章