замена с условием, есть ли варианты?

кекс

Новичок
замена с условием, есть ли варианты?

Есть ли что-то подобное в MySQL ?


PHP:
UPDATE cat 
SET 

IF (c_menu=='0')

c_menu= REPLACE(`c_menu`, '0', '1')

ELSE 

c_menu= REPLACE(`c_menu`, '1', '0')

WHERE c_id='$c_id'
Просто не хочется еще запрос делать на проверку что стоит в c_menu, 0 или 1.
Или все таки нужно запрос а потом замену?
 

Gas

может по одной?
c_menu=ABS(c_menu, -1)
или банально if'ом: c_menu=IF(c_menu=0, 1, 0)

или c_menu=(c_menu & 1) ^ 1 - но если в поле c_menu точно 1 либо 0, тогда достаточно c_menu=(c_menu ^ 1)

варианты есть ;)
 

antson

Новичок
Партнер клуба
кекс
посмотри еще синтексис case в mysql аналог switch
case
when условие1 then ..
...
when условиеN then ..
else ...
end

может пригодиться
 
Сверху