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