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

Lấy thời gian thay đổi cuối cùng của bảng trong MySQL

Tóm tắt

Sử dụng view INFORMATION_SCHEMA.TABLES để xem thời điểm cập nhật dữ liệu gần nhất của một bảng (cột UPDATE_TIME).

Cú pháp

SELECT UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'ten_database'
  AND TABLE_NAME = 'ten_bang';

Ví dụ

1. Tạo bảng và chèn dữ liệu

CREATE TABLE TblUpdate (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20)
);

INSERT INTO TblUpdate (Name) VALUES ('John'), ('Carol');

2. Cập nhật một hàng

UPDATE TblUpdate SET Name = 'James' WHERE Id = 2;

3. Truy vấn thời gian cập nhật cuối

SELECT UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'sample'
  AND TABLE_NAME = 'TblUpdate';

4. Kết quả

+---------------------+
| UPDATE_TIME         |
+---------------------+
| 2019-02-09 22:49:44 |
+---------------------+

Lưu quan trọng

  • UPDATE_TIME chỉ cập nhật cho các engine hỗ trợ (MyISAM, InnoDB từ 8.0.16+ với innodb_undo_log_truncate).
  • Với InnoDB cũ, cột này có thể trả về NULL – hãy dùng trigger hoặc cột updated_at tự quản lý nếu cần chính xác tuyệt đối.
  • Chỉ phản ánh thay đổi dữ liệu (INSERT/UPDATE/DELETE), không bao gồm ALTER TABLE.