博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用pymysql进行定时查询数据不更新的原因及解决方式
阅读量:5037 次
发布时间:2019-06-12

本文共 688 字,大约阅读时间需要 2 分钟。

用python写了一个小脚本定时查询数据库,输出查询结果并写入文件,发现每次查询的结果都是相同的,但是数据库确实在更新数据。

 

原因:  

REPEATABLE READ

The default isolation level for InnoDB. It prevents any rows that are queried from being
changed by other transactions, thus blocking non-repeatable reads but not phantom reads.
It uses a moderately strict locking strategy so that all queries within a transaction see
data from the same snapshot, that is, the data as it was at the time the transaction started.

重复读

innodb的默认隔离级别。它防止查询的任何行

由其他事务更改,因此阻止不可重复的读取,但不阻止幻象读取。

它使用适度严格的锁定策略,以便事务中的所有查询都可以看到

来自同一快照的数据,即事务启动时的数据。

 

既然知道了原因是查询事务未更新导致的 那就解决一下呗:

  每次查询后更新一下事务,在execute(sql) 之后 进行 commit()操作

  

  

转载于:https://www.cnblogs.com/wangbaojun/p/11505540.html

你可能感兴趣的文章
chrome扩展程序开发
查看>>
图片滚动懒加载用jquery-lazyload 与手动Jquery 写
查看>>
如何用crontab运行一个图形化界面的程序
查看>>
PHP高级面试题
查看>>
java基础之常用类的方法
查看>>
Linux服务之nginx服务篇三(反向代理、负载均衡)
查看>>
tcp协议四次握手
查看>>
割点-模板
查看>>
洛谷P2577 [ZJOI2005]午餐 打饭时间作为容量DP
查看>>
mac air上archlinux的安装及优化
查看>>
力扣——单值二叉树
查看>>
MyBatis 对数据库进行CRUD操作
查看>>
HttpRuntime.Cache被清空的DataTable
查看>>
IOS 应用官方接口地址
查看>>
机器学习(周志华西瓜书) 参考答案 总目录
查看>>
八:二叉搜索树的后序遍历
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>