我创建了mysql来删除表行,它们的DATETIME值比NOW()低,SHOW PROCESSLIST
表示事件和时间计数器正在运行,但它不删除行。这是代码:
CREATE EVENT minute_event
ON SCHEDULE EVERY 1 minute
DO
DELETE FROM reservations WHERE 'reservation_end' < NOW();
答案 0 :(得分:1)
你使用的是单引号而不是反引号。表达式'reservation_end' < NOW()
应该会导致MySQL Error #1267,因为'reservation_end'
只是一个字符串。它应该是:
DELETE FROM reservations WHERE `reservation_end` < NOW();
或未加引号,因为reservation_end
并不特别需要用反引号包围。