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

Khi cột TIMESTAMP DEFAULT CURRENT_TIMESTAMP, INSERT không giá trị sẽ như thế nào?

Nếu cột khai báo TIMESTAMP DEFAULT CURRENT_TIMESTAMP và INSERT không cung cấp giá trị (hoặc truyền NULL), MySQL sẽ tự động chèn thời điểm hiện tại.

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    ArrivalDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
); Query OK, 0 rows affected (0.55 sec)

Chèn một hàng có giá trị, một hàng không giá trị:

mysql> INSERT INTO DemoTable VALUES(NOW()); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES();      Query OK, 1 row affected (0.13 sec)

Hiển thị dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả (cả hai hàng đều có timestamp):

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-09-01 14:08:47 |
| 2019-09-01 14:08:50 |
+---------------------+
2 rows in set (0.00 sec)

Lưu ý: Chỉ cột TIMESTAMP đầu tiên trong bảng mới có hành vi này mặc định (trước MySQL 5.6.5). Từ 5.6.5+, có thể có nhiều cột TIMESTAMP với DEFAULT CURRENT_TIMESTAMP.