如何在单个sql查询中使用条件更新多个列

时间:2016-07-29 10:04:47

标签: mysqli

我想用多个条件更新多个列。 for.eg。

update student set name='john' where id=10 
update student set name='doe' where id=5 

如何在单个声明中更新此内容?

2 个答案:

答案 0 :(得分:2)

使用CASE WHEN

update student 
set name= CASE WHEN id = 5 THEN 'john'
               WHEN id = 10 THEN 'doe'
               ELSE name 
           END
where id in (
    5, 10
)

答案 1 :(得分:1)

update tablename 
set coloumn_name1= CASE WHEN coloumn_name = 5 THEN 'john'
               WHEN coloumn_name = 10 THEN 'doe'
               ELSE name 
           END
where coloumn_name in (
    5, 10
)