Không dùng UNIX_TIMESTAMP() (trả về số nguyên) cho cột TIMESTAMP. Chèn trực tiếp chuỗi ngày giờ chuẩn 'YYYY-MM-DD HH:MM:SS'.
Sai lầm thường gặp
SELECT UNIX_TIMESTAMP('2019-01-09 15:48:23');
-- Trả về: 1547029103 (số nguyên, KHÔNG phù hợp cho cột TIMESTAMP)
Cách đúng: Chèn chuỗi ngày giờ trực tiếp
INSERT INTO ten_bang (cot_timestamp) VALUES ('2019-01-09 15:48:23');
Ví dụ minh họa
Tạo bảng TimestampDemo:
CREATE TABLE TimestampDemo (
Id INT NOT NULL AUTO_INCREMENT,
yourTimestamp TIMESTAMP,
PRIMARY KEY (Id)
);
INSERT INTO TimestampDemo (yourTimestamp) VALUES
('2019-01-09 15:48:23'), ('2018-03-14 16:04:23'),
('2017-12-10 10:08:20'), ('2016-04-05 13:45:21');
Kết quả:
+----+-----------------------+
| Id | yourTimestamp |
+----+-----------------------+
| 1 | 2019-01-09 15:48:23 |
| 2 | 2018-03-14 16:04:23 |
| 3 | 2017-12-10 10:08:20 |
| 4 | 2016-04-05 13:45:21 |
+----+-----------------------+
Lưu ý: MySQL tự chuyển đổi múi giờ nếu cột TIMESTAMP và session time_zone khác nhau. Dùng DATETIME nếu muốn lưu đúng giá trị nhập vào không chuyển đổi.