在MySQL中,如果将其他列中的NULL值声明为DEFAULT CURRENT_TIMESTAMP,则可以在该列中自动插入当前日期和时间。在这种情况下,我们无法声明要在其中插入NULL值的NOT NULL列。
mysql> Create Table Testing1(Name Varchar(20), RegStudent TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
上面的查询将创建一个表“ Testing1”,其中包含名为“名称”的列(未声明为“ NOT NULL”),以及其他名为“ RegDate”的列声明为DEFAULT CURRENT_TIMESTAMP。现在,在插入NULL值Name列时,当前日期和时间将自动插入到另一列中。
mysql> Insert into Testing1(Name) Values(NULL); mysql> Insert into Testing1(Name) Values(NULL); 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)
从以上查询中,我们可以看到,在“名称”中插入NULL值时,日期和时间也会自动插入。