MySQL能否自动在一行中存储时间戳?

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 行受影响 (0.61 秒)

如果对于列’CreationDate’不传递任何参数,则MySQL默认存储当前时间戳。

使用insert命令向表中插入记录。查询如下。

mysql> insert into CurrentTimeStampDemo values();
Query OK,1 行受影响 (0.12 秒)
现在让我们显示表中的所有记录

使用select命令。查询如下。

mysql> select *from CurrentTimeStampDemo;

以下是输出。

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 15:53:03 |
+---------------------+
1 行受影响 (0.00 秒)

阅读更多:MySQL 教程

第二种方法

这是使用alter命令。创建表的查询如下。

mysql> create table Current_TimestampDemo
-> (
-> Id int
-> );
Query OK,0 行受影响 (0.43 秒)

这里是自动存储创建时间的查询。查询如下。

mysql> ALTER TABLE Current_TimestampDemo
-> ADD CreationDate datetime DEFAULT CURRENT_TIMESTAMP;
Query OK,0 行受影响 (0.53 秒)
Records: 0 Duplicates: 0 Warnings: 0

如果对于列’CreationDate’不传值,则MySQL为此列存储当前日期时间值。查询如下。

mysql> insert into Current_TimestampDemo(Id) values(1);
Query OK,1 行受影响 (0.19 秒)

使用select语句显示表的记录。查询如下。

mysql> select CreationDate from Current_TimestampDemo;

以下是输出。

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 16:25:12 |
+---------------------+
1 行受影响 (0.00 秒)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程