Python执行mysql语句time时间不正确何解,pythonmysql,类库torndb语句in


类库

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)

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

编橙之家文章,

评论关闭