mywordone
 1 $arr = [];
 2 $str = '';
 3 for ($i=0; $i < 2660; ++$i)
 4 {
 5     $str .= " WHEN ".$i." THEN ".rand(0,50);
 6     $arr[] = $i;
 7 }
 8 //WHEN 1 THEN 3
 9 $arr = implode(',',$arr);
10 // var_dump($arr);die;
11 $sql = "UPDATE `ez_deichmann_original_goods_temp` SET `qty`= CASE id ".$str." END WHERE id IN ({$arr})";
12 var_dump($sql);die;
13 $res = mysqli_query($conn,$sql);
14 if ($res) {
15     echo '00000000000000';
16 }else{
17     echo '111111111';
18 }

这是我的解决办法,下面这段话是网上摘抄

这句sql的意思是,更新qty 字段,如果id=$i 则qty 的值为THEN 后面的随机数,因为我的数据量是2600多,所以我循环了这么多次,

即是将条件语句写在了一起。
这里的where部分不影响代码的执行,但是会提高sql执行的效率。确保sql语句仅执行需要修改的行数。

分类:

技术点:

相关文章:

  • 2022-01-19
  • 2021-12-20
  • 2021-12-21
  • 2022-12-23
  • 2022-02-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案