Обновление нескольких строк с помощью WHERE ... IN - PullRequest
0 голосов
/ 12 декабря 2018

Я мог бы сойти с ума здесь, но разве это не должно работать?

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 голосов
/ 12 декабря 2018

если 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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...