
|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 PRO WHERE tno IN (1,2,3) 要改成 WHERE tno IN (1001,1002,1003) |
4 U7Q5tLAex2FI0o0g 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 PRO 语法错了 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 能够清楚地表达一下你的“为啥”是什么吗?反正我是不明白你的问题是什么 |