MySql删除NOT IN - 但比较整行

时间:2013-12-26 00:24:39

标签: php mysql sql sql-delete notin

这应该相对简单。我挖掘了MySql文档并找不到相关的信息。

情景很简单。我有一个有3列的表。所有都是复合唯一键,因为所有键必须唯一才能成为有效行。

如何在此设置中使用DELETE NOT IN?

我尝试过类似的事情:

DELETE FROM my_table WHERE (col1,col2,col3) NOT IN (val1,val2,val3), (val4,val5,val6)

如您所见,我想匹配值集,而不是值本身。

思想?

1 个答案:

答案 0 :(得分:8)

INNOT IN必须后跟一个列表。比较多列时,列表中的项目本身是带括号的列表。所以:

DELETE FROM my_table
WHERE (col1,col2,col3) NOT IN ((val1,val2,val3), (val4,val5,val6));