我有一个名为导入的表。这些通常是每天制作的,但我希望能够记录一天过去而未进行导入的情况。目前,我通过运行一个 PHP 脚本来执行此操作,该脚本检查最后一个条目与当前条目,并插入为任何缺失的日期创建的具有空值的行。我希望有一种方法可以直接在数据库中安排类似的事情。
导入
import_id | created | success | error
0001 | 2015-01-21 10:39:53 | 4 | 3
0002 | 2015-01-22 10:39:53 | 1 | 0
0003 | 2015-01-23 10:39:53 | 1 | 1
如果 24 小时过后仍未导入:
新导入
import_id | created | success | error
0001 | 2015-01-21 10:39:53 | 4 | 3
0002 | 2015-01-22 10:39:53 | 1 | 0
0003 | 2015-01-23 10:39:53 | 1 | 1
0003 | null | null | null
最佳答案
编写一个查询来添加所需的行,然后使用CREATE EVENT
安排它:
CREATE EVENT AddRow
ON SCHEDULE EVERY 1 DAY
DO
INSERT INTO imports (import_id, created, success, error)
SELECT MAX(import_id), null, null, null
FROM imports
HAVING MAX(created) < DATE_SUB(NOW(), INTERVAL 1 DAY)
关于mysql - 如果过去 24 小时内没有输入数据,则自动插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28206112/