84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
情况是这样的:
我们的业务需要进行一个审核操作,比如审核之后已经获取到了需要修改数据库的数据ID分别为:33 64 89 128 …… 等等,我目前都是将这些需要修改的ID放在一个数组当中进行循环,然后一个一个的执行UPDATE语句进行修改。
不知道有没有什么办法可以用一个语句直接修改多个制定ID的字段内容,麻烦高手指点。因为目前循环修改的话,后期数据量太大就容易报错出问题
How to batch modify the value of a certain field in php? -PHP Chinese website Q&A-How to batch modify the value of a certain field in PHP? -PHP Chinese website Q&A
Let’s take a look and learn.
如果是数组可以直接用implode()方法
循环拼sql语句
$arr[1,2,3,4,5,6]; $sql = "update table set data = 1 where id in("; $count = count($arr); $sqlarr = []; foreach ($arr as $k => $v) { $key = $k + 1; $sqlarr[] = $v; if((is_int($k/1000) || $key == $len_result) && $k>0){ //1000看你的数据量更改,执行sql语句,还原sql语句,继续循环 $sql .= explode(','$sqlarr); $sql .= ")"; unset($sqlarr); $sql = "update mer_stage set editable = 1 where id in("; } }
暂时想到的方法,之前这样做过插入的方法,比一条一条的插入快很多,最好加上事务。
How to batch modify the value of a certain field in php? -PHP Chinese website Q&A-How to batch modify the value of a certain field in PHP? -PHP Chinese website Q&A
Let’s take a look and learn.
如果是数组可以直接用implode()方法
循环拼sql语句
暂时想到的方法,之前这样做过插入的方法,比一条一条的插入快很多,最好加上事务。