2016-12-26 75 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是否有可能? –