Python SQLite:SELECT查询需要Commit()吗?

Bij*_*jan 1 python sqlite

我做了一个habbit,当我做cur.execute()功能时,我立即执行sql.commit()功能.

sql.commit()如果我不修改数据库(即只进行SELECT查询),是否需要?

这是一个例子:

sql = sqlite3.connect('DB.db')
cur = sql.cursor()
cur.execute('SELECT * FROM table')
sql.commit()
Run Code Online (Sandbox Code Playgroud)

Col*_*Two 5

Python不会为select语句开始事务.

从sqlite3模块的事务控制部分docs:

默认情况下,sqlite3模块在数据修改语言(DML)语句(即INSERT/UPDATE/DELETE/REPLACE)之前隐式打开事务,并在非DML非查询语句(即SELECT或其他任何语句)之前隐式提交事务.之前所提).