pythonmysqldb不会释放tab

2024-05-17 20:02:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序可以读取文件并将数据插入数据库。我正在用python为该程序编写一个测试工具。python线束连接到数据库以在生成测试数据之前获取一些配置参数。然后等待10秒,让被测试的程序处理文件并修改数据库。延迟之后,如果我试图从数据库中读取值,它们就不存在了。如果我打开第二个终端并通过命令行检查它们不在那里。一旦我终止Python测试工具,数据就被插入到数据库中。看起来MySQLdb正在锁定表,不允许我插入数据。如何让MySQLdb释放它对表的锁

tl;dr 我的工作流程如下所示

connection = MySQLdb.connect(host="localhost")
cursor = connection.cursor() 
cursor.execute(".....")
cursor.close()
connection.commit()
connection.close()
cursor = None 
connection = None 

sleep(10)

在 重复上述步骤,检查其他程序应该插入的数据


Tags: 文件数据程序none数据库终端close参数
1条回答
网友
1楼 · 发布于 2024-05-17 20:02:50

您需要在cursor.close()之前执行connection.commit()。在

注意,MySQL实际上不支持Python包装器模拟的游标。这可能会导致代码无法以意外的方式工作,如本例所示。在

相关问题 更多 >