MySQL 能否自動在行中儲存時間戳?


是的,您可以透過以下兩種方式實現。

  • **第一種方法** 在建立表時。

  • **第二種方法** 在編寫查詢時。

語法如下。

CREATE TABLE yourTableName
(
yourDateTimeColumnName datetime default current_timestamp
);

您可以使用 alter 命令。

語法如下。

ALTER TABLE yourTableName ADD yourColumnName datetime DEFAULT CURRENT_TIMESTAMP;

現在來實現這兩種語法。

第一種方法如下。

mysql> create table CurrentTimeStampDemo
-> (
-> CreationDate datetime default current_timestamp
-> );
Query OK, 0 rows affected (0.61 sec)

如果您沒有為“CreationDate”列傳遞任何引數,MySQL 會預設儲存當前時間戳。

使用 insert 命令在表中插入記錄。查詢如下。

mysql> insert into CurrentTimeStampDemo values();
Query OK, 1 row affected (0.12 sec)
Let us now display all records from the table

使用 select 命令。查詢如下。

mysql> select *from CurrentTimeStampDemo;

以下是輸出結果。

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 15:53:03 |
+---------------------+
1 row in set (0.00 sec)

第二種方法

這是使用 ALTER 命令。建立表的查詢如下。

mysql> create table Current_TimestampDemo
-> (
-> Id int
-> );
Query OK, 0 rows affected (0.43 sec)

這是自動儲存建立時間戳的查詢。查詢如下。

mysql> ALTER TABLE Current_TimestampDemo
-> ADD CreationDate datetime DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.53 sec)
Records: 0 Duplicates: 0 Warnings: 0

如果您沒有為“CreationDate”列傳遞值,MySQL 會為該列儲存當前日期時間值。查詢如下。

mysql> insert into Current_TimestampDemo(Id) values(1);
Query OK, 1 row affected (0.19 sec)

使用 select 語句顯示錶的記錄。查詢如下。

mysql> select CreationDate from Current_TimestampDemo;

以下是輸出結果。

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 16:25:12 |
+---------------------+
1 row in set (0.00 sec)

更新於: 2019年7月30日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.