2

这应该比较简单。我翻遍了 MySql 文档,找不到相关信息。

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

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

我试过类似的东西:

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

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

想法?

4

1 回答 1

8

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

DELETE FROM my_table
WHERE (col1,col2,col3) NOT IN ((val1,val2,val3), (val4,val5,val6));
于 2013-12-26T00:28:14.720 回答