搜尋

首頁  >  問答  >  主體

php每次更新500條資料如何寫

求個偽代碼
每次循環一次 更新500個資料

仅有的幸福仅有的幸福2799 天前930

全部回覆(4)我來回復

  • 黄舟

    黄舟2017-06-12 09:22:44

    將要大量更新的記錄推入佇列,然後消費佇列,記得打日誌,我們做佇列在於有序地執行任務,並且保證每個更新是一定完成的。

    回覆
    0
  • 怪我咯

    怪我咯2017-06-12 09:22:44

    不知道具體的使用場景,不敢瞎BB

    BB一下

    取出一個大數組之後

    $res = [];
    for ($x=0; $x<=($res/500); $x++) {
     $res = array_slice($res,0+500*$x,500);
    if($res)
    {
        update table set=value where id($res['id']);修改数据库
        foreach($res as $key=>$value)
        {
            $res[$key]['某值'] = ‘某值’;
        }
    }
    }

    回覆
    0
  • 学习ing

    学习ing2017-06-12 09:22:44

    1.如果是同一張表,並且有某種相同特徵某些數據可以使用where條件批量更新

    update table set count=count+1 where id > 1 and id < 501

    2.如果不同的表,且邏輯也不一樣,那要考慮是否會超時了,如果無需用戶買單的請求,可以採用fastcgi_finish_request 中斷用戶請求,再繼續執行代碼,或者採取定時任務的形式

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-12 09:22:44

    先確定總次數,然後 for 迴圈每次取 500 個更新就是了

    回覆
    0
  • 取消回覆