
先看下语法 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 )