gpt4 book ai didi

python - 通过 Python 读取 MySQL 有时会导致警告 1292,似乎将秒解释为大于 60。

转载 作者:行者123 更新时间:2023-11-29 10:32:20 24 4
gpt4 key购买 nike

这是一个奇怪的问题,虽然我发现了几篇涉及 1292 警告的帖子,但似乎没有什么适合我的情况。

设置:Python 3.5PyMySQL==0.7.11MySql 5.5.53

查询:

Executing sql: SELECT PacketID, `Type`, `Length`, Raw_Data
FROM extra_packets
WHERE `Time` > NOW() - 10 AND PacketId > '18345' ORDER BY `Time` DESC;

结果:

python3.5/site-packages/pymysql/cursors.py:323: Warning: (1292, "Incorrect datetime value: '20171107190398' for column 'Time' at row 1")

示例数据:

PacketID    Time                Type    Length  Raw_Data

18,346 2017-11-07 19:04:06 76 22 .......
18,345 2017-11-07 19:04:01 76 22 .......
18,344 2017-11-07 19:03:57 76 22 .......

注释:

  • 在警告消息中,秒值大于 60 - 我认为这就是问题所在?
  • 这种情况并不总是发生,大概是特定于时间的
  • 我实际上并没有在响应中使用Time——只是为了过滤器。

问题:(显然)我该如何纠正此警告?

最佳答案

使用正确的INTERVAL表达式而不是10

WHERE Time > DATE_SUB(NOW(), INTERVAL 10 SECOND)

您的代码将 NOW() 转换为 20171107190408 之类的整数,然后从中减去 10 。只要当前时间的秒数小于 10,您就会收到错误消息。

关于python - 通过 Python 读取 MySQL 有时会导致警告 1292,似乎将秒解释为大于 60。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47165890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com