codetu

codetu

个性签名

  • 财富值15
  • 威望值0
  • 总积分25

个人信息

  • 回复了 的回答

    可以用 case when :

    update table set
        value1 = case id
            when 1 then value11
            when 2 then value12
            when 3 then value13
            when 4 then value14
        end,
        value2 = case id
            when 1 then value21
            when 2 then value22
            when 3 then value23
            when 4 then value24
        end
    where id in (1,2,3,4)
    

    还是只能拼写SQL么,没有batchInsert那么优雅的方法

  • 回复了 的回答

    你说的批量更新是什么?
    比如同时更新id=3,4,5的记录,将状态改为禁用,这是一种批量更新,可以用一条sql更新;
    比如同时更新id=3,4,5的记录,要求3的状态为禁用,4,5的状态为启用,这种需要肯定不能用一条sql更新;

    类似这种:

    update table set value1=value11,value2=value21 where id=1;
    update table set value1=value12,value2=value22 where id=2;
    update table set value1=value13,value2=value23 where id=3;
    update table set value1=value14,value2=value24 where id=4;
    

    value1 和 value2 字段的值 每条更新记录值都不一样

  • 提出了问题
    Yii 2.0 有批量更新多个字段的方法么?
  • 2019-06-27 已签到
    连续签到1天,获得了5个金钱
  • 2017-05-15 已签到
    连续签到1天,获得了5个金钱
  • 2017-05-04 已签到
    连续签到1天,获得了5个金钱
试用期 等级规则
25/50
资料完整度
100/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

1