插入MySQL时出现DateTime错误

use*_*720 9 mysql insert

我在将以下数据插入MySQL时出现错误.我该如何解决?

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

SQL语句:

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

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

SQL语句:

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

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

SQL语句:

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

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

SQL语句:

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

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

SQL语句:

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

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

SQL语句:

INSERT INTO `wngtest`.`sitereading` (`idSiteReading`, `TimeStamp`, `SiteLocation`, `Flow`, `Temperature1`, `Temperature2`) VALUES ('6', '17/07/2013 17:18:55', 'WNGSite1', '12.9', '80', '45')
Run Code Online (Sandbox Code Playgroud)

fen*_*way 11

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

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

因此INSERT语句将是:

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');
Run Code Online (Sandbox Code Playgroud)


Kev*_*sox 10

在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');
Run Code Online (Sandbox Code Playgroud)

  • 但我在查询 mysql 中输入 '2100-06-04 00:00:00' 也出错 (2认同)