Python
- pymysql不能实时查询最新的数据
InnoDB 的默认隔离级别。它可以防止任何被查询的行被其他事务更改,从而阻止不可重复的读取,而不是 幻读取。它使用中度严格的锁定策略,以便事务内的所有查询都会查看同一快照中的数据,即数据在事务开始时的数据。
那么此时问题就找到了,跟当前的事务级别有关系的;当创建查询事务时,事务一直没有进行更新,每次查询到的数据都是之前查询结果的快照。
解决方式, 修改事务隔离级别、每次查询后更新事务、关闭数据库的事务(慎选)
1)修改事务隔离级别, 增加autocommit=True
self.connection = pymysql.connect(host=host,
user=user,
password=password,
db=db,
charset=charset,
cursorclass=cursorclass,
autocommit=True)
2)每次查询后更新事务
self.connection.commit()