mysql序列事件无法正常运行!

时间:2011-02-02 16:41:36

标签: php mysql events scheduled-tasks

我创建了一个mysql预定事件,以便每5秒将行值增加1。然而,不是所期望的行为,而是超过1疯狂增加。我检查了phpMyAdmin,并且该行上似乎没有重复的事件。

// creats event which auto increment picture_select
$sql = "SET GLOBAL event_scheduler = 1";
mysql_query($sql, $connection)
    or die(mysql_error()); 


$sql = "CREATE EVENT IF NOT EXISTS picture_increment
ON SCHEDULE EVERY 5 SECOND
DO
UPDATE pictures SET picture_select = picture_select+1 WHERE picture_id = '1'";
$create_event = mysql_query($sql, $connection)
    or die(mysql_error());

导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

如果NOT EXISTS可能导致问题(基本上它并不总是有效)并最终启动许多多个线程都做同样的事情,在你的情况下它可能导致picture_id疯狂增加。检查您的事件日志,看看这是否是您的问题