python执行mysql语句发生的时间错误问题
高洛峰
高洛峰 2017-04-17 13:25:07
[Python讨论组]

类库

  • torndb

语句

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

错误

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

细节

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

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

会是torndb的bug么?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
巴扎黑

首先,想问一下,你是怎么确认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)

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号