收藏
回答

数据库像SQL中那样用CASE语句更新字段?

我有个场景需要按条件更新数据库中的数据,比如数据库表students是这样的(https://www.liaoxuefeng.com/wiki/1177760294764384/1179611161425120上测试)

SQL中可以按下面这样实现

UPDATE students SET 
score = CASE id 
WHEN 1 THEN 70 
WHEN 2 THEN 90
END, 
class_id = CASE id 
WHEN 1 THEN 4
WHEN 2 THEN 5 
END
WHERE id in(1,2)


执行结果也符合预期

想问下大神在小程序中,这种更新语句应该怎么写,看了文档中有switch和cond,但没找到更新时如何用的例子

最后一次编辑于  2023-09-10
回答关注问题邀请回答
收藏

3 个回答

  • showms
    showms
    2023-09-12

    换个思路,分多次更新吧。update table set score=100 where id=1

    2023-09-12
    有用
    回复 1
    • breeze
      breeze
      2023-09-12
      嗯,最终也只能多次更新了
      2023-09-12
      回复
  • 青寒
    青寒
    2023-09-10

    用云函数。

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/update.html

    2023-09-10
    有用
    回复 1
    • breeze
      breeze
      2023-09-10
      这个只能处理正常情况。就是我的数据需要按条件更新的,像帖子中那样。比如想更新id=1中的score为100, id=2中的class_id为4
      2023-09-10
      回复
  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    2023-09-09
    云开发不支持
    2023-09-09
    有用
    回复 1
    • breeze
      breeze
      2023-09-09
      不支持啊,还想省事儿少写代码呢,看来只能放弃了
      2023-09-09
      回复
登录 后发表内容