Как я могу обновить несколько строк MySQL?

0

У меня есть это datatable:

    id, surname, name;
    1, Ivanov, Ivan;
    2, Petrov, Petr;
    3, Sidorov, Sidr;

Я хочу изменение: Иван к Ивану111, Петр к Петру222, Сидр к Сидр333.

Как я могу сделать это в одном запросе? что-то вроде:

'UPDATE datatable SET name='Ivan111', name='Petr222', name=Sidr333' WHERE id=1, id=2, id=3'
Теги:

2 ответа

3

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

UPDATE datatable 
SET name= CASE  WHEN  id=1 THEN 'Ivan111'
                WHEN  id=2 THEN 'Petr222'
                WHEN  id=3 THEN 'Sidr333'
                ELSE  name 
          END

или если вы хотите объединить идентификационную часть 3 раза с именем для всех записей, вы можете сделать это как

Для выбора

select id, surname, concat(name,repeat(id, 3)) as name from datatable

Для обновления

update datatable set name = concat(name,repeat(id, 3)) ;
  • 1
    Спасибо за решение, он прекрасно работает.
0

update datatable set name = CONCAT (имя, id, id)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню