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 秒)
极客教程