MySQL: обновить разные столбцы с отдельными условиями - PullRequest
1 голос
/ 05 мая 2019

Пожалуйста, как я могу обновить разные столбцы базы в зависимости от конкретных условий. Например:

UPDATE table
SET col1 = val1 WHERE col1 > 2
SET col2 = val2 WHERE col2 > 1

Можно написать SQL-выражение UPDATE, подобное этому Где будут обновляться разные столбцы базы на отдельных условиях?

1 Ответ

5 голосов
/ 05 мая 2019

Использование case:

UPDATE table
    SET col1 = (CASE WHEN col1 > 2 THEN val1 ELSE col1 END),
        col2 = (CASE WHEN col2 > 1 THEN val2 ELSE col2 END);

Вы также можете добавить WHERE col1 > 2 or col2 > 1, чтобы MySQL не пытался обновить все строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...