2012-07-31 33 views
0

如何更新MySQL數據庫中的500個隨機行?我嘗試以下,但它沒有工作:更新MySQL DB中的500個隨機行

UPDATE `usr_usuarios` SET `feedback_solicitado` = 1 ODER BY RAND() LIMIT 500 
+0

什麼沒有準確地工作?我認爲這是做到這一點的正確方法。 – Jocelyn 2012-07-31 11:04:49

+0

#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第1行'ODER BY RAND()LIMIT 500'附近使用正確的語法。 – Jake 2012-07-31 11:05:15

+0

將ODER更改爲ORDER – Jocelyn 2012-07-31 11:05:35

回答

1

爲了得到行受到影響,500,你可以添加額外的WHERE條件爲:

UPDATE usr_usuarios 
SET feedback_solicitado = 1 
WHERE feedback_solicitado <> 1 
ORDER BY RAND() 
LIMIT 500; 

編輯:爲@Jocelyn說:你有做錯字錯ODER代替ORDER

0

試試這個UUID()函數

"UPDATE usr_usuarios SET feedback_solicitado = 1 ORDER BY UUID() LIMIT 500" 
+0

UUID()優於隨機排序的RAND ? – Jocelyn 2012-07-31 11:12:29

0

因爲,你正在使用奧德代替順序,查詢應該是這樣的:

UPDATE usr_usuarios 
     SET feedback_solicitado = 1 
    ORDER 
     BY RAND() LIMIT 500 
1

要解決你所得到的語法錯誤,只是在查詢ORDER更換ODER