【问题标题】:DateTime error while insert to MySQL插入 MySQL 时出现日期时间错误
【发布时间】:2013-07-26 01:35:40
【问题描述】:

我在将以下数据插入 MySQL 时遇到错误。我该如何解决?

错误 1292:日期时间值不正确:第 1 行的“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:日期时间值不正确:列的“17/07/2013 18:18:53” 第 1 行的“时间戳”

SQL 语句:

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

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

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:日期时间值不正确:列的“17/07/2013 17:48:54” 第 1 行的“时间戳”

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:日期时间值不正确:列的“17/07/2013 17:33:55” 第 1 行的“时间戳”

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:日期时间值不正确:列的“17/07/2013 17:18:55” 第 1 行的“时间戳”

SQL 语句:

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

【问题讨论】:

    标签: mysql insert


    【解决方案1】:

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

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

    所以 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');
    

    【讨论】:

      【解决方案2】:

      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');
      

      【讨论】:

      • 但我在查询 mysql 中输入 '2100-06-04 00:00:00' 也会出错
      猜你喜欢
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-04-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多