我如何更新多行mysql?

时间:2017-12-15 07:07:24

标签: mysql sql

我有这个数据表:

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

我想改变:Ivan到Ivan111,Petr到Petr222,Sidr到Sidr333。

如何在一个查询中执行此操作?类似的东西:

`UPDATE datatable SET name='Ivan111', name='Petr222', name=Sidr333' WHERE id=1, id=2, id=3`

2 个答案:

答案 0 :(得分: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

或者如果你想将id部分与所有记录的名称连接3次,你可以像

那样

For select

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

For update

update datatable set name = concat(name,repeat(id, 3)) ;

答案 1 :(得分:0)

更新数据集集名称= CONCAT(名称,ID,ID)