请帮帮我。
我有:
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服务器版本对应的手册,以获取正确的语法 near'(NewId())%1000)+ 1000 WHERE meta_key LIKE'%like_key%''在 第1行
请帮助我,非常感谢你
答案 0 :(得分:1)
以下查询应该在MariaDB上执行您想要的操作:
UPDATE wp_postmeta
SET meta_value = (RAND()*1000) + 1000
WHERE meta_key LIKE '%like_key%'
这会将匹配行的meta_value
更新为1000
和2000
之间的某个数字,这是您当前的尝试所暗示的。