Python DB API - commit() v. execute("commit transaction")?
Ian Kelly
ian.g.kelly at gmail.com
Tue May 30 10:12:13 EDT 2017
On Tue, May 30, 2017 at 7:29 AM, Skip Montanaro
<skip.montanaro at gmail.com> wrote:
> Assuming the underlying database supports transactions, is there any
> difference between calling the commit() method on the connection and
> calling the execute method on the cursor with the "commit transaction"
> statement? It seems a bit asymmetric to me to start a transaction with
>
> cur.execute("begin transaction")
>
> but end it with
>
> conn.commit()
There's no difference I'm aware of in the implementations I've used,
but having a consistent API does allow for constructions such as:
try:
do_stuff(conn)
except:
conn.rollback()
finally:
conn.commit()
without having to worry about variations in syntax between databases.
More information about the Python-list
mailing list