2017-10-20 78 views
1

我有一個多表的行,有列:列1,列2具有不同的值。 我想每一行做這樣的事情:更新MySQL列使用隨機數低於列

$sql = "UPDATE table SET column2 = rand(0,(column1/3000))"; 

這是可能的,或者有另一種方式來做到這一點? TY!

編輯。 即使列1/3000用括號或不封閉的,它給我的錯誤:

Error: UPDATE table SET column2 = rand(0,(column1/3000)) 
Incorrect parameter count in the call to native function 'rand' 
+0

你試過了嗎?你有沒有得到日誌,錯誤......? – Nic3500

+0

更新了我的帖子。感謝您的通知! OMG! –

回答

2

您可以使用RAND()函數爲:

$sql = "UPDATE table SET column2 = (column1/3000)*RAND()";

以上將更新column2到介於0column1/3000之間的數字。 如果column2int類型,則結果將舍入爲最接近的整數。

關於RAND()函數,請參閱:https://www.w3resource.com/mysql/mathematical-functions/mysql-rand-function.php

+0

這是魔術,非常感謝你! –

+0

現在...我有另一個問題,但我害怕打開另一個話題... –