2015-08-08 156 views
0

假設我有一個包含1000個用戶標識的列表,並且我想更新他們的付款狀態,我付了他們現在我想更新他們的狀態爲已完成。立即更新1000條記錄

如果我用一個循環來做,它可以創建1000個更新,這對數據庫要求很高。有沒有更好的辦法?

我看到2個選項,現在,一用一環,另一個是動態生成的查詢字符串,如:

$query = UPDATE users SET somecolumn WHERE user_id = '$user_id1' AND user_id = 'user_id2 AND... etc... 
+0

你實際上可以寫'WHERE user_id IN(...)',然後繼續在圓括號內添加id - 這會爲構建查詢節省一些麻煩。 – mmvsbg

回答

2

您可利用所創建的查詢:

$查詢= 「UPDATE users SET somecolumn ='value'WHERE user_id IN('$ user_id1','$ user_id2')」;

+0

這是我可能會這樣做的方式。 +1 – SysVoid

+0

非常感謝你,它看起來不錯,然後我需要把1000用戶ID的權利?在括號內 – Noobit

+0

是的,在括號中添加儘可能多的用戶id。如果這解決了您的問題,請選擇答案。 – user4287915