2016-12-26 72 views
0

請幫幫我。更新隨機數mySQL

我:

SELECT * FROM `Homepage`.`wp_postmeta` 
WHERE (CONVERT(`meta_id` USING utf8) LIKE '%like%' 
OR CONVERT(`post_id` USING utf8) LIKE '%like%' 
OR CONVERT(`meta_key` USING utf8) LIKE '%like%' 
OR CONVERT(`meta_value` USING utf8) LIKE '%like%') 
ORDER BY `post_id` DESC 

所以我要更新隨機數meta_value(的meta_key是like_key) 我提交:

UPDATE wp_postmeta 
SET meta_value = abs(checksum(NewId()) % 1000)+ 1000 
WHERE meta_key LIKE '%like_key%' 

,但它不能正常工作,它說:

MySQL說:文檔

1064 - 您的SQL語法錯誤;檢查對應於您MariaDB的服務器版本使用 附近 '(NEWID())%1000)+ 1000,其中meta_key LIKE'%like_key%' 在 線1

請幫助正確的語法手冊我,我非常感謝你

+2

什麼是'NewId()' – GurV

+0

什麼是'checksum()'? –

回答

1

下面的查詢應該做你想要的是什麼MariaDB的:

UPDATE wp_postmeta 
SET meta_value = (RAND()*1000) + 1000 
WHERE meta_key LIKE '%like_key%' 

這將更新meta_value對於那些匹配的行一定數目1000和之間10,這是你目前的嘗試所暗示的。

+0

非常感謝<3 – John

+0

@John Mark是否有可能? –