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)

更新於: 2019年7月30日

14K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告