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)