Sử dụng CURRENT_TIMESTAMP làm giá trị mặc định (DEFAULT) cho cột TIMESTAMP hoặc DATETIME (MySQL 5.6.5+).
Tạo bảng
mysql> CREATE TABLE DemoTable (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ClientFirstName VARCHAR(20),
-> ClientLastName VARCHAR(20),
-> ClientAge INT
-> );
Thêm cột timestamp với mặc định là thời gian hiện tại
mysql> ALTER TABLE DemoTable
-> ADD COLUMN ClientProjectDeadline TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.46 sec)
Kiểm tra cấu trúc bảng
mysql> DESC DemoTable;
+-----------------------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------------+-------------+------+-----+-------------------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | ClientFirstName | varchar(20) | YES | | NULL | | | ClientLastName | varchar(20) | YES | | NULL | | | ClientAge | int(11) | YES | | NULL | | | ClientProjectDeadline | timestamp | YES | | CURRENT_TIMESTAMP | | +-----------------------+-------------+------+-----+-------------------+----------------+
Các biến thể hữu ích
| Cú pháp | Hành vi |
|---|---|
DEFAULT CURRENT_TIMESTAMP | Tự động điền thời gian hiện tại khi INSERT |
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | Cập nhật thời gian mỗi khi hàng bị sửa |
DATETIME DEFAULT CURRENT_TIMESTAMP | MySQL 5.6.5+, dùng cho DATETIME thay vì TIMESTAMP |
Lưu ý quan trọng
TIMESTAMPcó phạm vi 1970-2038,DATETIMErộng hơn (1000-9999)TIMESTAMPtự chuyển đổi múi giờ,DATETIMEkhông- Chỉ một cột
TIMESTAMPtrong bảng có thể dùngDEFAULT CURRENT_TIMESTAMP(trước MySQL 5.6.5)