MySQL 如何将自定义日期插入时间戳字段
使用UNIX_TIMESTAMP()函数的问题在于它返回整数,而我们想要插入自定义日期,即不是任何整数部分到MySQL日期。
不要将UNIX_TIMESTAMP()用于已定义为TIMESTAMP的列,因为UNIX_TIMESTAMP()返回整数。
检查UNIX_TIMESTAMP。查询如下所示−
mysql> select UNIX_TIMESTAMP( '2019-01-09 15 −48 −23') AS IntegerValue;
以下是输出−
+--------------+
| IntegerValue |
+--------------+
| 1547029103 |
+--------------+
1行记录(0.00秒)
查看示例输出,UNIX_TIMESTAMP()函数返回相应日期和时间的整数。
以下是将自定义日期插入您的列TIMESTAMP的语法。
INSERT INTO yourTableName(yourColumnName) values('yourCustomDateTime');
为了理解上述语法,让我们创建一个表。创建表的查询如下所示−
mysql> create table TimestampDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> yourTimestamp TIMESTAMP,
-> PRIMARY KEY(Id)
);
查询成功,受影响的行数为0(2.14秒)
要将自定义日期插入MySQL时间戳字段,请使用以下查询−
mysql> insert into TimestampDemo(yourTimestamp) values('2019-01-09 15 −48 −23');
查询成功,受影响的行数为1(0.37秒)
mysql> insert into TimestampDemo(yourTimestamp) values('2018-03-14 16 −4 −23');
查询成功,受影响的行数为1(0.37秒)
mysql> insert into TimestampDemo(yourTimestamp) values('2017-12-10 10 −8 −20');
查询成功,受影响的行数为1(0.16秒)
mysql> insert into TimestampDemo(yourTimestamp) values('2016-4-05 13 −45 −21');
查询成功,受影响的行数为1(0.30秒)
现在,您可以使用SELECT语句从表中显示所有记录。查询如下所示−
mysql> select *from TimestampDemo;
以下是输出−
+----+-----------------------+
| Id | yourTimestamp |
+----+-----------------------+
| 1 | 2019-01-09 15 −48 −23 |
| 2 | 2018-03-14 16 −04 −23 |
| 3 | 2017-12-10 10 −08 −20 |
| 4 | 2016-04-05 13 −45 −21 |
+----+-----------------------+
4行记录(0.00秒)
阅读更多:MySQL 教程
极客教程