使用WHERE ... IN更新多行

时间:2018-12-12 15:35:14

标签: mysql mariadb

我可能在这里生气了,但是这不应该吗?

UPDATE clients SET ClientArchive = '1' WHERE ClientID IN (37,38,46,51, ...)

客户是一个表格; ClientID 是该表中的自动更新整数; ClientArchive 是布尔Tinyint(1)。我想要的只是一次更改一堆值。我从phpMyAdmin 4.8.0.1中获得了此输出:

  

0行受影响。 (查询花费了0.0002秒。)

MariaDB 5.5.57,PHP 5.6.36

1 个答案:

答案 0 :(得分:0)

如果ClientArchive是布尔值,请尝试使用1(而不是“ 1”)

    UPDATE clients 
    SET ClientArchive = 1 
    WHERE ClientID IN (37,38,46,51, ...)

并使用查询而不是ide响应来检查结果

    select *
    from clients
    where  ClientID IN (37,38,46,51, ...)
    and ClientArchive <> 1