Объединение запросов UPDATE

157
15 декабря 2016, 15:59

Мне нужно объединить два sql update запроса в один

UPDATE test SET text = 'ok' WHERE id = '1'
UPDATE test SET text = 'no' WHERE id = '2'

Пробовал так:

UPDATE test SET text = 'ok' WHERE id = '1';
UPDATE test SET text = 'no' WHERE id = '2'

но не работает. Помогите, пожалуйста.

Answer 1
UPDATE test SET text = 
CASE 
WHEN id = 1 THEN 'ok'
WHEN id = 2 THEN 'no'
ELSE text
END
Answer 2
update test join (select 1 a, 'ok' b union all select 2,'no') x
on test.id=x.a
set text=b;
Answer 3

Мне нужно объединить два sql update запроса в один

Не нужно.
Не нужно объединять запросы без серьезной причины.
В данном случае ни одной причины нет - оба запроса прекрасно отработают по отдельности.

Если здесь нужна была блокировка строки, то, во-первых, её здесь нету, а во-вторых, нет проблем сделать с блокировкой, двумя запросами.

Именно поэтому, задавая вопрос, надо всегда озвучивать реальную проблему, а не свои кустарные попытки её решить.

READ ALSO
Составить запрос для таблиц со связью many-to-one

Составить запрос для таблиц со связью many-to-one

Здравствуйте! Помогите, пожалуйста, с запросомЕсть таблица Orders и Locations, между ними связь many-to-one

176
C#  и Mysql

C# и Mysql

Подскажите как работать в C# с MysqlЧто подключать, как подключатся к mysql и как искать в бд

141
Запрос удаления по значению checkbox

Запрос удаления по значению checkbox

Запрос удаления по значению checkbox - почему не удаляет? И как выдать сообщение, если не выбрали box

161