MySQL批量更新一個字段的值為隨機數


 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語句僅執行需要修改的行數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM