ThinkPHP框架下的批量更新,其实也是mysql通用的批量更新。

更新单个字段:

    $Model = new \Think\Model() // 实例化一个model对象 没有对应任何数据表

    $sql = 'update 表名 set 更新字段 = case when 修改依赖条件 then 0 end where 全局限制条件;

//在status=1的情况下,当id=1的时候,更改name为chengxiaobai

    $sql = 'update user set name = case when id= 1 then chengxiaobai end where status = 1';

    $Model->execute($sql);

更新多个字段

    $Model = new \Think\Model() // 实例化一个model对象 没有对应任何数据表

    $sql = 'update 表名 set 更新字段 = case when 修改依赖条件 then 0 end where 全局限制条件;

//在status=1的情况下,当id=1的时候,更改name为chengxiaobai
//                ,当id=1的时候,更改sex为boy

    $sql = 'update user set name = case when id= 1 then chengxiaobai end,
                            sex = case when id= 1 then boy end where status = 1';

    $Model->execute($sql);

本文由程小白创作,本文可自由转载、引用,但需署名作者且注明文章出处。

原文地址:https://www.chengxiaobai.cn/php/thinkphp-mysql-batch-update.html