我创建了一个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());
导致这种情况的原因是什么?
答案 0 :(得分:0)
如果NOT EXISTS可能导致问题(基本上它并不总是有效)并最终启动许多多个线程都做同样的事情,在你的情况下它可能导致picture_id疯狂增加。检查您的事件日志,看看这是否是您的问题