首页 > 文章列表 > 在MySQL中,如何在向其他列插入NULL值的同时自动插入日期和时间?

在MySQL中,如何在向其他列插入NULL值的同时自动插入日期和时间?

232 2023-08-29

在 MySQL 中,我们可以通过将该列声明为 DEFAULT CURRENT_TIMESTAMP,在其他列中插入 NULL 值时自动将当前日期和时间插入到该列中。在这种情况下,我们不能声明要在其中插入 NULL 值的列 NOT NULL。

mysql> Create Table Testing1(Name Varchar(20),
RegStudent TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.15 sec)

以上查询将创建一个表“Testing1”,其中有一列名为“Name”(未声明为“NOT NULL”),其他列名为“RegDate”,声明为 DEFAULT CURRENT_TIMESTAMP。现在,在插入 NULL 值“名称”列时,当前日期和时间将自动插入到另一列中。

mysql> Insert into Testing1(Name) Values(NULL);
Query OK, 1 row affected (0.08 sec)

mysql> Insert into Testing1(Name) Values(NULL);
Query OK, 1 row affected (0.04 sec)

mysql> Select * from Testing1;
+------+---------------------+
| Name | RegStudent |
+------+---------------------+
| NULL | 2017-10-29 04:46:59 |
| NULL | 2017-10-29 04:47:02 |
+------+---------------------+
2 rows in set (0.05 sec)

从上面的查询中,我们可以看到,在“Name”中插入 NULL 值时,日期和时间也会自动插入。