在 MySQL 中,如何在向其他列插入 NULL 值时自动插入日期和时间?
mysqlmysqli database更新于 2023/12/7 2:29:00
在 MySQL 中,我们可以在向其他列插入 NULL 值时自动将当前日期和时间插入到该列,方法是将该列声明为 DEFAULT CURRENT_TIMESTAMP。在这种情况下,我们不能将要插入 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 值 Name 列时,当前日期和时间将自动插入到另一列中。
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 值时,日期和时间也会自动插入。