我的mysql数据库中有一个名为“updategold”的事件,它应该做的是每秒将表值增加5。但它不起作用。没有错误消息,一切看起来都不错,但它没有运行。以下是它的设置方式:
定义(应该每秒运行一次):
update stats.gold set stats.gold = stats.gold + 5
where stats.id = users.id
定义者:root @ localhost
有什么想法吗?
修改
整个过程
DROP EVENT `updategold`; CREATE DEFINER=`root`@`localhost` EVENT `updategold` ON SCHEDULE EVERY 1 SECOND STARTS '2014-10-19 11:37:00.000000' ON COMPLETION NOT PRESERVE ENABLE DO update stats set stats.gold = stats.gold + 5 where stats.id = users.id
答案 0 :(得分:0)
也许这是你的语法。你这样做了吗?
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
答案 1 :(得分:0)
更新统计信息中的语法错误。 gold ,您应该只提供table_name
update stats.gold set stats.gold = stats.gold + 5
where stats.id = users.id
应该是:
UPDATE stats SET stats.gold = stats.gold + 5
INNER JOIN users
ON stats.id = users.id
并添加了JOIN
以从users表中选择要更新的用户。