Sự khác biệt giữa datetime và timestamp trong MySQL

2022-03-20 14:48:08

Trong bài đăng này, tôi đang chia sẻ sự khác biệt giữa kiểu dữ liệu DATETIME và TIMESTAMP của MySQL.

Tôi đang viết về chủ đề này vì điều này rất cần thiết và quan trọng đối với các Nhà phát triển cơ sở dữ liệu.
Thậm chí nhiều người phỏng vấn cũng đặt câu hỏi này trong cuộc phỏng vấn MySQL.

Đối với chủ đề này, bạn có thể tìm thấy nhiều câu trả lời thay thế trên internet. Nhưng tôi vẫn thích viết theo cách của tôi.

DATETIME vs TIMESTAMP:

TIMESTAMP được sử dụng để theo dõi các thay đổi của bản ghi và cập nhật mỗi khi bản ghi được thay đổi.
DATETIME được sử dụng để lưu trữ giá trị tĩnh và cụ thể không bị ảnh hưởng bởi bất kỳ thay đổi nào trong bản ghi.

TIMESTAMP cũng bị ảnh hưởng bởi cài đặt liên quan đến TIME ZONE khác nhau.
DATETIME là không đổi.

TIMESTAMP đã chuyển đổi nội bộ múi giờ hiện tại thành UTC để lưu trữ và trong quá trình truy xuất, hãy chuyển đổi ngược lại múi giờ hiện tại.
DATETIME không thể làm điều này.

TIMESTAMP là 4 byte và DATETIME là 8 byte.

Phạm vi được hỗ trợ TIMESTAMP:
'1970-01-01 00:00:01 ′ UTC đến '2038-01-19 03:14:07 ′ giờ UTC
DATETIME phạm vi được hỗ trợ:
'1000-01-01 00:00:00 ′ đến '9999-12-31 23:59:59 '

Hãy để tôi chứng minh một ví dụ thực tế nhỏ:

Tạo bảng kiểm tra và chèn NOW () vào cả hai cột:

Cập nhật bản ghi sau vài giây:

Kiểm tra giá trị cho cả ngày, Bạn sẽ tìm thấy giá trị cũ trong cột DATETIME và cột TIMESTAMP được cập nhật.

Xem thêm:


Chia sẻ: