
先看下语法 MySQL 8.0 的语法:
第一种:
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
第二种:
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
现在的需求是:给数据的 grade 字段添加相应的值。
比如:
一年级要求认识的字包括:grade = 1
一二三
十木禾
上下土个
二年级要求认识的字包括:grade=2
宜实色华谷金尽层丰壮
波浪灯作字苹丽劳
尤其区巨它安块站
书写的SQL为:
UPDATE `w` SET
`grade` = (CASE `word`
WHERE "上" THEN "1"
WHERE "丰" THEN "2"
END)
WHERE word in("上","丰")
同时改动多个字段:
UPDATE demo SET content = (
CASE
WHEN id = 1 THEN '内容111'
WHEN id = 0 THEN '内容000'
END
),id = (
CASE
WHEN id = 1 THEN 11
WHEN id = 0 THEN 22
END
)

