我想找出 MySQL 数据库中在过去一小时内修改了哪些表。我该怎么做?
最佳答案
MySQL 5.x 可以通过 INFORMATION_SCHEMA 数据库做到这一点。该数据库包含有关表、 View 、列等的信息。
SELECT *
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE
DATE_SUB(NOW(), INTERVAL 1 HOUR) < `UPDATE_TIME`
返回过去一小时内已更新 (UPDATE_TIME) 的所有表。您还可以按数据库名称(TABLE_SCHEMA 列)进行过滤。
一个示例查询:
SELECT
CONCAT(`TABLE_SCHEMA`, '.', `TABLE_NAME`) AS `Table`,
UPDATE_TIME AS `Updated`
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE
DATE_SUB(NOW(), INTERVAL 3 DAY) < `UPDATE_TIME`
AND `TABLE_SCHEMA` != 'INFORMATION_SCHEMA'
AND `TABLE_TYPE` = 'BASE TABLE';
关于mysql - 查询过去一小时内修改过的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492040/