简单的mysql事件没有运行

时间:2014-10-19 10:21:04

标签: php mysql

我的mysql数据库中有一个名为“updategold”的事件,它应该做的是每秒将表值增加5。但它不起作用。没有错误消息,一切看起来都不错,但它没有运行。以下是它的设置方式:

  • 活动名称:Updategold
  • 统计信息:已启用
  • 事件类型:重复
  • 执行每一个:1,第二个
  • 开始:我将来将其设置为几分钟
  • 结束:空
  • 定义(应该每秒运行一次):

    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

2 个答案:

答案 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表中选择要更新的用户。