Dùng DEFAULT khi tạo bảng: CURRENT_TIMESTAMP (cho DATETIME/TIMESTAMP) hoặc giá trị cố định (cho DATE).
Trường hợp 1: Cột DATETIME/TIMESTAMP - tự động lấy NOW()
CREATE TABLE DefaultCurrentdateDemo (
LoginDate DATETIME DEFAULT CURRENT_TIMESTAMP
);
Chèn không truyền giá trị:
INSERT INTO DefaultCurrentdateDemo VALUES ();
→ Tự động ghi nhận thời điểm insert.
Trường hợp 2: Cột DATE - giá trị mặc định cố định
CREATE TABLE DefaultDate (
LoginDate DATE DEFAULT '2019-01-12'
);
Chèn không truyền giá trị:
INSERT INTO DefaultDate VALUES ();
→ Nhận giá trị '2019-01-12'.
Ví dụ minh họa
Bảng DefaultCurrentdateDemo:
INSERT INTO DefaultCurrentdateDemo VALUES
(), ('2017-11-19'), ('2018-10-21'), (), ('2020-12-24');
Kết quả (cột DATETIME):
+---------------------+
| LoginDate |
+---------------------+
| 2019-01-12 20:33:51 |
| 2017-11-19 00:00:00 |
| 2018-10-21 00:00:00 |
| 2019-01-12 20:34:37 |
| 2020-12-24 00:00:00 |
+---------------------+
Lấy phần ngày: SELECT DATE(LoginDate) AS OnlyDate FROM DefaultCurrentdateDemo;
Lưu ý MySQL 8.0+: Hỗ trợ DEFAULT CURRENT_TIMESTAMP cho DATETIME và TIMESTAMP. Phiên bản cũ chỉ hỗ trợ cho TIMESTAMP.