插入到MySQL时出现DateTime错误

12

在将以下数据插入MySQL时,我遇到了一个错误。如何修复它?

ERROR 1292:行1的“TimeStamp”列的日期时间值不正确:'17/07/2013 18:33:55'

SQL语句:

我插入数据到MySQL的时候出现了错误。如何解决这个问题?

ERROR 1292:在第一行的“TimeStamp”列中,日期时间的值不正确:'17/07/2013 18:33:55'

SQL语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('1', '17/07/2013 18:33:55', 'WNGSite1', '13.1', '81', '45')

错误 1292:行 1 的 'TimeStamp' 列的日期时间值不正确:'17/07/2013 18:18:53'

SQL 语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('2', '17/07/2013 18:18:53', 'WNGSite1', '13', '80', '45')

错误1292:行1的'TimeStamp'列的日期时间值不正确:'17/07/2013 18:03:54'

SQL语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('3', '17/07/2013 18:03:54', 'WNGSite1', '12.7', '80', '45')

错误 1292:第1行列“TimeStamp”的日期时间值不正确:'17/07/2013 17:48:54'

SQL语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('4', '17/07/2013 17:48:54', 'WNGSite1', '12.7', '80', '45')

错误1292:行1的'TimeStamp'列时间值不正确:'17/07/2013 17:33:55'

SQL语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('5', '17/07/2013 17:33:55', 'WNGSite1', '12.8', '80', '45')

错误 1292:行 1 的时间戳列的日期时间值不正确:'17/07/2013 17:18:55'

SQL 语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('6', '17/07/2013 17:18:55', 'WNGSite1', '12.9', '80', '45')
2个回答

12

在MySql中,日期应以yyyy-mm-dd格式插入。

尝试使用以下格式:

2013-07-17 17:18:55

完整的插入语句:

INSERT INTO wngtest.sitereading 
(idSiteReading, TimeStamp, SiteLocation, Flow, Temperature1, Temperature2) 
VALUES ('1', '2013-07-17 18:33:55', 'WNGSite1', '13.1', '81', '45');

3
但我在 MySQL 查询中输入“2100-06-04 00:00:00”时也出错了。 - Michael Tsang

11

或者,您可以使用STR_TO_DATE()自动重新格式化日期字符串为SQL-99格式:

STR_TO_DATE( '17/07/2013 18:33:55', '%d/%m/%Y %H:%i:%s')

因此,插入语句将是:

INSERT INTO wngtest.sitereading 
(idSiteReading, TimeStamp, SiteLocation, Flow, Temperature1, Temperature2) 
VALUES ('1', 
STR_TO_DATE( '17/07/2013 18:33:55', '%d/%m/%Y %H:%i:%s'), 
'WNGSite1', '13.1', '81', '45');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接