Сведения о вопросе

Ayrat

09:53, 2nd August, 2020

Теги

Запрос на обновление с условием?

Просмотров: 342   Ответов: 4

Добрый день!


Люди добрые подскажите как в mysql возможно запрос на обновление с условием написать?

Например, если в поле 1 то заменяем его на 2, если 2 то заменяем на его 1.


В поле находится буква «b» и «пусто», мне надо так скажем поменять местами, т.е. букву b заменить на «пусто», а «пусто» заменить на «b».



  Сведения об ответе

LAST

15:19, 27th August, 2020

UPDATE test SET t = IF(t=«a»,«b»,«a») WHERE t IN («a»,«b»);


  Сведения об ответе

FAriza

17:24, 26th August, 2020

Я бы меняла в три запроса через третье значение, которого точно нет в этой колонке.
Update table set field='c' where field='';
Update table set field='' where field='b';
Update table set field='b' where field='c';


  Сведения об ответе

baggs

21:06, 1st October, 2020

если это цыфры — есть такой старый хитрый трюк:
где 3 = 2+1, а 2 и 1 ваши варианты, которые надо менять местами.

update set field = 3 — field where field in (2,1)


  Сведения об ответе

COOL

15:18, 1st August, 2020

Я, конечно, пишу на Oracle SQL, а не на MySQL, но неужели там нету конструкции типа case или decode, позволющих получить разные значения в зависимости от аргумента? Три update ради одного действия — довольно расточительно, ннэ?


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться