В поле UPDATE, если значение уже установлено, установить его в другое значение? - PullRequest
2 голосов
/ 12 июня 2009

Я знаю, что могу легко сделать это с помощью нескольких строк PHP, но я надеялся, что в MYSQL есть метод для этого; Я думаю, что есть, но мне не повезло найти его.

В основном я хочу сделать это:

UPDATE fieldName SET status='1'
if status='1', SET status='2'

Так что вторая строка, очевидно, не настоящий код, но это то, что я хочу сделать. ОБНОВИТЬ поле до значения, и если это поле уже равно этому значению, обновите его до другого значения.

Ответы [ 2 ]

5 голосов
/ 12 июня 2009

Будет ли это работать?

UPDATE table SET status = IF(status = 1, 2, 1) WHERE ...;

По сути, это если статус равен 1, а затем установить его в 2, в противном случае оставить равным 1. Но тогда вы могли бы также сделать, если это все, что вы хотите сделать:

UPDATE table SET status = 2 WHERE status = 1;
1 голос
/ 12 июня 2009

Если вы хотите иметь поле, которое действует как кнопка переключения, попробуйте это:

UPDATE table SET status = ABS(status - 1) WHERE...

Таким образом, каждый раз, когда вы обновляете статус, переключается между 0 и 1

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