我正在创建几个不同的脚本,它们都与中央 MySQL 数据库交互以共享数据,但我发现我对数据库所做的某些更改不会传播或无法被某些脚本读取,直到数据库连接已经建立关闭并重新打开。
例如,使用下面的代码 read_script
将只打印在我退出并重新启动 write_script
后使用 write_script
添加到数据库中的项目.我是 MySQL 的新手,所以我不确定是我的 SQL 还是我的 python 有问题
读取脚本
connection = MySQLdb.connect(...)
while True:
cur = connection.cursor()
cur.execute("SELECT * FROM my_table")
print cur.fetchall()
cur.close()
写脚本
connection = MySQLdb.connect(...)
cur = connection.cursor()
cur.execute("INSERT INTO my_table VALUES(some_data)")
cur.close()
connection.commit()
我需要做什么才能确保从数据库中获取数据数据?
最佳答案
默认事务隔离是可重复读。这意味着您的 read_script 将始终读取并显示相同的数据。将提交放入您的 while 循环中。旁注:使用 time.sleep(1)
暂停阅读可能很好。
关于python - 同时 MySQLdb 连接看不到更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22147790/