玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python执行mysql语句time时间不正确何解

类库

  • torndb

语句

  • insert into table (sometime) values (sysdate())

错误

  • 插入之后的时间比当前时间早8个小时

细节

  • sometime是datetime类型,mysql的系统时间是对的,timestamp类型的时间插入不会出错

  • mysql命令行插入datetime时间也不会出错

会是torndb的bug么?

首先,想问一下,你是怎么确认mysql的系统时间是对的?
我同意王子亭的看法,问题应该在mysql服务器上,时区的可能性比较大
我觉得你试试看now()和timestamp这样能确认是不是时区问题

其次,不是很清楚你的部署是怎么安排的,一般服务器和mysql服务器都是分开的,那两边的时间是不一致的,你怎么保证数据一致性的问题呢?
我记得一般我们做法都是在写入的时候用python主动获取时间

下面是我用MySQLdb的例子

sen = 'INSERT INTO docs(md5, link, ctime, author) VALUES (%s, %s, %s, %s)'
stime = time.strftime('%Y-%m-%d %H:%M:%S')
param = (md5, link, stime, author)
cursor.execute(sentence, param)

都是猜测哦,还是需要你自己验证
希望对你有帮助

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19458.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月12日 - 17时27分36秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules