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

 找回密码
 注册

QQ登录

只需一步,快速开始

[编程和数据库] 关于pymysql或MySQLdb数据库连接过期刷新的问题分析

[复制链接]
zhaorong 发表于 2018-3-31 11:06:10 | 显示全部楼层 |阅读模式

在使用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)
复制代码



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

本版积分规则

手机版|小黑屋|VIP|电脑疯子技术论坛 ( Computer madman team )

GMT+8, 2025-1-23 10:42

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表