首页 新闻 赞助 找找看

MYSQL 批量更新的问题

0
悬赏园豆:50 [已解决问题] 解决于 2021-01-19 10:55

UPDATE xx
SET name = (
CASE
WHEN id = 1
AND idcard_name = '姓名' THEN
'变更后姓名'
WHEN id = 2
AND idcard_name = '姓名2' THEN
'crypt#变更后姓名2'
END
)

我不写else ,如果不符合我写的条件就会置空,但是我现在想,如果不符合我的更新条件,就跳过这条不做更新操作

这种的sql语句要怎么写?

四斤半的主页 四斤半 | 初学一级 | 园豆:38
提问于:2021-01-15 14:29
< >
分享
最佳答案
0

UPDATE xx
SET NAME =
CASE
WHEN id = 1 AND idcard_name = '姓名' THEN '变更后姓名'
WHEN id = 2 AND idcard_name = '姓名2' THEN'crypt#变更后姓名2'
ELSE NAME
END

收获园豆:50
xbuff | 菜鸟二级 |园豆:293 | 2021-01-15 16:42
其他回答(3)
0

我也布吉岛

、大老张 | 园豆:212 (菜鸟二级) | 2021-01-15 15:15
0

UPDATE xx
SET name = '变更后姓名'
WHERE id = 1 AND idcard_name = '姓名';

UPDATE xx
SET name = 'crypt#变更后姓名2'
WHERE id = 2 AND idcard_name = '姓名2';

拆开写不可以嘛,符合条件1的做一次更新, 符合条件2的再做一次更新。

顾星河 | 园豆:7169 (大侠五级) | 2021-01-15 15:46
0
else name
大志若愚 | 园豆:2138 (老鸟四级) | 2021-01-15 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册