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

Tự động điền ngày giờ hiện tại vào cột DATE/DATETIME trong MySQL

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.