MySQL 日期列如何自动填充当前日期?
您可以使用 now() 函数与默认自动填充功能,并获取当前日期和时间。稍后,您可以使用 date() 函数提取日期部分。
案例 1
语法如下所示
yourDateColumnName date default ‘yourDateValue’;
案例 2
语法如下所示
yourDateColumnName datetime default now();
为了理解以上内容,让我们创建一个表。创建表的查询如下所示
mysql> create table DefaultCurrentdateDemo -> ( -> LoginDate datetime default now() -> ); Query OK, 0 rows affected (0.59 sec)
使用 insert 命令在表中插入一些记录。查询如下所示
mysql> insert into DefaultCurrentdateDemo values(); Query OK, 1 row affected (0.18 sec) mysql> insert into DefaultCurrentdateDemo values('2017-11-19'); Query OK, 1 row affected (0.16 sec) mysql> insert into DefaultCurrentdateDemo values('2018-10-21'); Query OK, 1 row affected (0.12 sec) mysql> insert into DefaultCurrentdateDemo values(); Query OK, 1 row affected (0.23 sec) mysql> insert into DefaultCurrentdateDemo values('2020-12-24'); Query OK, 1 row affected (0.12 sec)
使用 select 语句显示表中的所有记录。查询如下所示
mysql> select *from DefaultCurrentdateDemo;
以下是输出结果
+---------------------+ | LoginDate | +---------------------+ | 2019-01-12 20:33:51 | | 2017-11-19 00:00:00 | | 2018-10-21 00:00:00 | | 2019-01-12 20:34:37 | | 2020-12-24 00:00:00 | +---------------------+ 5 rows in set (0.00 sec)
如果您只想提取日期,则可以使用 date() 方法。查询如下所示
mysql> select date(LoginDate) as OnlyDate from DefaultCurrentdateDemo;
以下是输出结果
+------------+ | OnlyDate | +------------+ | 2019-01-12 | | 2017-11-19 | | 2018-10-21 | | 2019-01-12 | | 2020-12-24 | +------------+ 5 rows in set (0.00 sec)
让我们将默认值设置为某个日期。
为日期列设置默认值的查询如下所示
mysql> create table DefaultDate -> ( -> LoginDate date default '2019-01-12' -> ); Query OK, 0 rows affected (0.53 sec)
如果您没有向该列传递任何值,则会向该列提供默认值。插入记录的查询如下所示
mysql> insert into DefaultDate values(); Query OK, 1 row affected (0.13 sec)
使用 select 语句显示表中的所有记录。
查询如下所示
mysql> select *from DefaultDate;
以下是输出结果
+------------+ | LoginDate | +------------+ | 2019-01-12 | +------------+ 1 row in set (0.00 sec)
广告