Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn MySQL tìm bảng được sửa đổi trong 1 giờ gần đây?

Truy vấn INFORMATION_SCHEMA.TABLES với cột UPDATE_TIME và hàm DATE_SUB.

Chỉ lấy tên bảng:

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE DATE_SUB(NOW(), INTERVAL 1 HOUR) < `UPDATE_TIME`;

Lấy đầy đủ thông tin:

SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE DATE_SUB(NOW(), INTERVAL 1 HOUR) < `UPDATE_TIME`;

Ví dụ kết quả

+---------------------+
| TABLE_NAME          |
+---------------------+
| innodb_table_stats  |
| innodb_index_stats  |
| employeeinformation |
+---------------------+

Lưu ý quan trọng:

  • UPDATE_TIME chỉ cập nhật cho engine MyISAM và InnoDB với innodb_file_per_table=ON (mặc định từ 5.6).
  • Với InnoDB shared tablespace, UPDATE_TIME thường là NULL.
  • Để theo dõi chính xác, cân nhắc trigger ghi log hoặc binary log.