0

我创建了 mysql 来删除 DATETIME 值低于 NOW() 的表行,SHOW PROCESSLIST显示事件和时间计数器正在运行,但它不会删除行。这是代码:

CREATE EVENT minute_event
    ON SCHEDULE EVERY 1 minute
    DO 
      DELETE FROM reservations WHERE 'reservation_end' < NOW();
4

1 回答 1

1

您使用的是单引号而不是反引号。该表达式'reservation_end' < NOW()应该会导致MySQL 错误 #1267,因为'reservation_end'它只是一个字符串。它应该是:

DELETE FROM reservations WHERE `reservation_end` < NOW();

或未引用,因为reservation_end不需要特别用反引号包围。

于 2012-06-19T18:09:51.670 回答