python - 同时 MySQLdb 连接看不到更新

标签 python mysql mysql-python

我正在创建几个不同的脚本,它们都与中央 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/

相关文章:

python - SubfieldBase 已被弃用。使用 Field.from_db_value 代替

python - 在Python中使用装饰器函数时,如何获取包装器函数返回的信息?

python - 在 Python 3 中使用 MySQLdb 进行参数化查询

python - 在 Python 中执行访问单独数据库的 MySQL 查询

python - 从基于列的数组返回多数加权投票

python - django:如何从数据库对象的主键中散列 URL?

ASP.NET MySQL.NET 连接字符串

mysql - 为分布式数据库配置 Web 应用程序

Mysql Join 两张表 Like with Concat

python - 如何使用带有 for 或 while 循环的 MySQLdb SELECT