mysql—使用一条sql语句用相应的数据块更新单个列的所有行

8zzbczxx  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(289)

我有一个包含10行的表,其中包含一个名为“age”的列,并保存int(3)。有没有办法用一条sql语句用每个人各自的年龄更新所有的行?
我一直在做

update table_name set age = age_int where first_name = "John";

一遍又一遍。但我想知道我是否能把这10条语句浓缩成一条。

yc0p9oo0

yc0p9oo01#

你需要一个 case 表达式:

UPDATE table_name 
SET age = CASE first_name 
       WHEN 'abc' THEN 10
       WHEN 'xyz' THEN 11
END

相关问题