Web

MySQL — переключатель значения 1 и 0

Для примера взят статус статьи (1 — опубликовано, 0 — скрыто). Придумал на скорую руку, может и изящнее найдется способ — пишите коммент.

Публикация возникает при установке «галочки» checkbox, сокрытие — при снятии галочки. Обрабатываем нажатие ajax’ом (не пишу как).

Как организовать смену значения в ячейке таблицы MySQL компактным запросом? Включаем логику для начала в собственной голове. Есть такой оператор в языке запросов: ABS(X)  — модуль числа. Пользуемся им:

Из 0 в 1: ABS( ABS(0) - 1 ) = ABS( 0 - 1 ) = ABS(-1) = 1 ,
Из 1 в 0: ABS( ABS(1) - 1 ) = ABS( 1 - 1 ) = ABS(0) = 0 .

Реализуем данное рассуждение в запросе:

Значение ячейки status сменится на противоположное. Enjoy!

Важное примечание: для столбца status при этом не должен быть установлен атрибут UNSIGNED

Добавить комментарий