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+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告