如何通过与另一列的值进行比较来更新列的多个值?

时间:2015-06-10 09:49:59

标签: mysql

我正在尝试通过相应的ID设置user_id。类似的东西 -

update report set user_id (33077,11582,15872,32674,33077,19021,33477,33077,33477) where id in (18,216,23,334,232,2687,352,354,753)

是否可以在单个查询中执行上述操作?上述查询不起作用。

1 个答案:

答案 0 :(得分:1)

由于语法无效,您无法按照自己的方式进行操作,但是您可以在update语句中使用case-when将多个值设置为

update affiliate_report_new
set 
user_id = 
case 
  when id = 18 then 33077
  when id = 216 then 11582
  when id = 23 then 15872
  when id = 334 then 32674
  .........
  .........
  when id = 753 then 33477
end 
where 
id in (18,216,23,334,232,2687,352,354,753)