在 MySQL 中,如果我想在向其他列插入 NULL 值的同时自动插入日期和时间,该怎么做?


在 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’)的列和另一个声明为 DEFAULT CURRENT_TIMESTAMP 的名为 ‘RegDate’ 的列。现在,在 Name 列中插入 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 值时,日期和时间也会自动插入。

更新于: 2020 年 1 月 29 日

802 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.