MySQL日期列自动填充当前日期?
您可以now()
为此使用默认自动填充和当前日期和时间。之后,您可以使用date()
函数提取日期部分。
情况1:
语法如下:
yourDateColumnName date default ‘yourDateValue’;
情况2:
语法如下:
yourDateColumnName datetime default now();
为了理解上述内容,让我们创建一个表。创建表的查询如下:
mysql> create table DefaultCurrentdateDemo -> ( -> LoginDate datetime default now() -> );
使用insert命令在表中插入一些记录。查询如下:
mysql> insert into DefaultCurrentdateDemo values(); mysql> insert into DefaultCurrentdateDemo values('2017-11-19'); mysql> insert into DefaultCurrentdateDemo values('2018-10-21'); mysql> insert into DefaultCurrentdateDemo values(); mysql> insert into DefaultCurrentdateDemo values('2020-12-24');
使用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' -> );
如果您没有将任何值传递给该列,则将为该列提供默认值。插入记录的查询如下:
mysql> insert into DefaultDate values();
使用以下命令显示表中的所有记录
选择语句。查询如下:
mysql> select *from DefaultDate;
以下是输出:
+------------+ | LoginDate | +------------+ | 2019-01-12 | +------------+ 1 row in set (0.00 sec)