【发布时间】:2012-02-08 13:21:21
【问题描述】:
我在docs读到:
...因为事务在游标执行查询时开始,但在执行 COMMIT 或 ROLLBACK 时结束 连接对象。
import MySQLdb
db = MySQLdb.connect(user="root", db="test")
c = db.cursor()
c.execute("SELECT * FROM books")
print c.fetchall()
我怀疑 MySQLdb 即使在不修改数据的查询(如 SELECT)上也会启动事务,因为很难知道查询是否只读取数据而不写入数据。
- 是真的吗?
- 如果是这样,这意味着我应该在每次查询后执行
cursor.commit(),以确保没有表被锁定? - 其他我不知道的问题?
谢谢
【问题讨论】:
标签: python mysql mysql-python