这应该相对简单。我挖掘了MySql文档并找不到相关的信息。
情景很简单。我有一个有3列的表。所有都是复合唯一键,因为所有键必须唯一才能成为有效行。
如何在此设置中使用DELETE NOT IN?
我尝试过类似的事情:
DELETE FROM my_table WHERE (col1,col2,col3) NOT IN (val1,val2,val3), (val4,val5,val6)
如您所见,我想匹配值集,而不是值本身。
思想?
答案 0 :(得分:8)
IN
或NOT IN
必须后跟一个列表。比较多列时,列表中的项目本身是带括号的列表。所以:
DELETE FROM my_table
WHERE (col1,col2,col3) NOT IN ((val1,val2,val3), (val4,val5,val6));