|cno |cname |tno | |1001|zhangsan|101| |1002|zhangsan|102| |1003|zhangsan|103|
UPDATE course
SET cno = CASE tno
WHEN 1001 THEN '1.57'
WHEN 1002 THEN '1.3'
WHEN 1003 THEN '1.2'
END
WHERE tno IN (1,2,3)
返回
1 queries executed, 1 success, 0 errors, 0 warnings
查询:UPDATE course SET cno = CASE tno WHEN 1001 THEN '1.57' WHEN 1002 THEN '1.3' WHEN 1003 THEN '1.2' END WHERE tno IN (1,2,3)
共 0 行受到影响
执行耗时 : 0 sec
传送时间 : 0 sec
总耗时 : 0.001 sec
为啥???
1
zshneedmoney 2020-07-09 17:27:10 +08:00
啥意思?这没有符合条件的数据可不就是 0 行收到影响
|
2
FenixVu OP |
3
qiayue 2020-07-09 17:43:33 +08:00
WHERE tno IN (1,2,3)
要改成 WHERE tno IN (1001,1002,1003) |
4
littleylv 2020-07-09 17:46:37 +08:00
你的 tno 不是 101,102,103 么,WHERE tno IN (1,2,3) 没有符合的数据
|
5
DonaldY 2020-07-09 17:50:16 +08:00
when 后面是表达 bool 吧。
|
7
qiayue 2020-07-09 20:11:39 +08:00
语法错了
UPDATE course SET cno = CASE WHEN tno=1001 THEN '1.57' WHEN tno=1002 THEN '1.3' WHEN tno=1003 THEN '1.2' ELSE cno END WHERE tno IN (1001,1002,1003) |
8
JasonLaw 2020-07-09 20:11:43 +08:00 via iPhone
能够清楚地表达一下你的“为啥”是什么吗?反正我是不明白你的问题是什么
|