我有一个包含多个表的数据库。这些表中的每一个都有一个“created”列,其中包含在数据库中创建该特定行的时间戳。
现在,我想创建一个MySQL脚本,每周检查一次是否有数据进入这些表。所以,应该每天都有数据出现。如何创建一个MySQL脚本,允许我对数据库中的所有表执行此操作?
注意:请记住,我想使用单个脚本对数据库中的所有表执行此操作。这是我想知道的主要内容。
答案 0 :(得分:1)
我将此方法用于名为call
的表,其中包含一列名为systemdate
的时间戳类型:
SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW());
mysql DATE() statement获取日期时间或时间戳字段的日期部分。
抱歉,您注意到要查看上周每天至少有一个条目。
您可以使用此查询单独检查流行天数:
昨天:
SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW()) - 1;
昨天之前:
SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW()) - 2;
或者你可以一次检查整个星期:
SELECT * FROM `call` WHERE DATE(`systemdate`) > DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DATE(`systemdate`);
这将每天返回一个结果,因此如果您有7个结果,您至少会知道每天都有一个条目。
答案 1 :(得分:0)
select * from table
where created between subdate(current_date, interval 7 day) and current_date;
选择最长为current_date
的日期时间包括“今天”开头的所有内容(即“前一个午夜”)。