2011-07-12 81 views
0

即時通訊存在問題,重新查詢將更新收益表與用戶表中的另一個隨機值的查詢。 執行查詢它什麼都不做用另一個查詢中的隨機值更新mysql表嗎?

$update = mysql_query("UPDATE earnings SET userid = (SELECT ID FROM users WHERE installid is NULL ORDER BY rand()) WHERE userid='0'"); 

在第二查詢時

SELECT ID FROM users WHERE installid is NULL ORDER BY rand() 

它會帶我到任何installid空

回答

3

你試過在phpMyAdmin等該查詢的隨機用戶ID?你有錯誤嗎?

你試過:

SELECT ID FROM users WHERE installid is NULL ORDER BY rand() LIMIT 1 

使之充分查詢變爲:

UPDATE earnings SET userid = (SELECT ID FROM users WHERE installid is NULL ORDER BY rand() LIMIT 1) WHERE userid='0' 

但是請記住,你可能最終在收益表中有重複的用戶ID值。

+0

我沒有嘗試使用phpMyAdmin,但您的解決方案只是像魅力一樣工作謝謝 – Marco

+0

@Fouad很高興知道它的作品。請記住,PHP不會在您的更新查詢中顯示任何錯誤。當查詢失敗時,例如在調用mysql_query()後加入'或者die(mysql_error())',你就明確地處理了這個case。 –

+0

如果想要編輯這個查詢有WHERE userid =位於用戶表? – Marco

相關問題