【问题标题】:MySql Delete NOT IN - but compare entire rowsMySql Delete NOT IN - 但比较整行
【发布时间】: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)

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

想法?

【问题讨论】:

    标签: php mysql sql sql-delete notin


    【解决方案1】:

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

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

    【讨论】:

    • 啊。我很接近,但没有雪茄。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-09
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 2012-08-31
    • 2020-09-15
    • 2017-09-06
    相关资源
    最近更新 更多