电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2447 人浏览分享

关于pymysql或MySQLdb数据库连接过期刷新的问题分析

[复制链接]
2447 0

在使用python的pymysql或者MySQLdb库连接数据库进行数据读取处理的时候,
当通过其他连接(客户端)向表写数据后,数据库连接会有过期的问题

比如有一张初始数据表test,开始只有4条数据

2018033009094084.jpg

使用pymysql创建连接查询结果为4条记录

2018033009094085.jpg

这时若在通过其他客户端(注意是其他客户端,不是当前创建的数据库连接,conn,cursor)向test表插入数据

6.jpg

再次通过当前连接句柄查询test表的数据量,发现仍然只有4条结果

7.jpg

解决方法:

pymysql: 直接通过 conn.connect()刷新数据库连接

  1. import pymysql as mdb
  2. conn = mdb.connect(**db_config)
  3. cursor = conn.cursor()
  4. sql = "select * from test"
  5. cursor.execute(sql)
  6. conn.connect()
  7. cursor.execute(sql)
复制代码


MySQLdb: 关闭连接后重连


  1. import MySQLdb as mdb
  2. conn = mdb.connect(**db_config)
  3. cursor = conn.cursor()
  4. sql = "select * from test"
  5. cursor.execute(sql)
  6. conn.close()
  7. conn = mdb.connect(**db_config)
  8. cursor = conn.cursor()
  9. cursor.execute(sql)
复制代码




您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.