如果将空值插入设置为TIMESTAMP CURRENT_TIMESTAMP类型的列的表中会发生什么?

如果我们在INSERT语句中不插入任何内容,那么对于时间戳类型,它将插入当前日期时间。让我们首先创建一个表-

create table DemoTable
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> UserLoginDate timestamp default current_timestamp
   -> );

使用插入命令在表中插入一些记录-

insert into DemoTable values();
insert into DemoTable values();
insert into DemoTable values();
insert into DemoTable(UserId) values(null);

使用select语句显示表中的所有记录-

select *from DemoTable;

这将产生以下输出-

+--------+---------------------+
| UserId | UserLoginDate       |
+--------+---------------------+
|      1 | 2019-11-03 12:55:44 |
|      2 | 2019-11-03 12:55:45 |
|      3 | 2019-11-03 12:55:46 |
|      4 | 2019-11-03 12:56:06 |
+--------+---------------------+
4 rows in set (0.00 sec)