MySQL SET IF Statement - PullRequest
       5

MySQL SET IF Statement

2 голосов
/ 02 мая 2011

Может кто-нибудь показать мне правильный синтаксис mysql, чтобы сделать следующее:

Обновить столбец в таблице, указав значения 1 из 3:

Если col_A = 4, установите col_Z на col_A Если col_B = 4, установите col_Z на col_B Иначе установите col_Z в NULL (или оставьте в покое, потому что col_Z инициализируется в NULL)

Вот что у меня есть:

Update my_table
SET col_Z = IF(col_A = 4, col_A, IF(col_B = 4, col_B, NULL))
WHERE id = "001"

Это правильно?

1 Ответ

15 голосов
/ 02 мая 2011

Да, это выглядит правильно.

Хотя следующий код будет проще.

UPDATE my_table
SET col_Z = IF(col_A = 4 OR col_B = 4, 4, NULL)
WHERE id = "001"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...