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