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)
廣告