【发布时间】:2015-11-16 10:29:26
【问题描述】:
我养成了一个习惯,当我执行cur.execute() 函数时,我会立即执行sql.commit() 函数。
如果我不修改数据库(即只执行SELECT 查询),是否需要sql.commit()?
这是一个例子:
sql = sqlite3.connect('DB.db')
cur = sql.cursor()
cur.execute('SELECT * FROM table')
sql.commit()
【问题讨论】:
-
如果它是一个简单的选择语句,如您的示例,则没有理由执行提交。
-
实际上,这可能有助于提供更多上下文。让我知道这是否有帮助:stackoverflow.com/questions/14430424/commit-after-select
-
我的选择查询很简单,不修改数据库。他们只是提取信息。
-
文档中的示例暗示您可以使用执行: c.execute("SELECT * FROM stock WHERE symbol = '%s'" % symbol) docs.python.org/2/library/sqlite3.html