此方法启动事务。它接受指示是否使用一致快照、使用哪个事务隔离级别以及事务访问模式的参数:
cnx.start_transaction(consistent_snapshot=bool,
isolation_level=level,
readonly=access_mode)
默认consistent_snapshot值为
False。如果值为
True,连接器/Python 会发送WITH CONSISTENT
SNAPSHOT语句。对于该选项不适用的隔离级别,MySQL 会忽略它。
默认isolation_level值为
None,允许的值为'READ
UNCOMMITTED'、'READ COMMITTED'、
'REPEATABLE READ'和
'SERIALIZABLE'。如果
isolation_level值为
None,则不发送任何隔离级别,因此应用默认级别。
readonly参数可以是
在模式
下True启动事务
READ ONLY或在模式下False启动事务READ WRITE。如果
readonly省略,则使用服务器的默认访问模式。事务访问方式详见START TRANSACTION, COMMIT, and ROLLBACK Statements 语句START TRANSACTION
说明。如果服务器早于 MySQL 5.6.5,它不支持设置访问模式,Connector/Python 会引发一个.
ValueError
调用start_transaction()会引发一个
ProgrammingErrorif 调用,而事务当前正在进行中。这不同于START
TRANSACTION在事务处理过程中执行 SQL 语句;该语句隐式提交当前事务。
要确定连接的事务是否处于活动状态,请使用 in_transaction 属性。
start_transaction()在 MySQL 连接器/Python 1.1.0 中添加。该readonly参数是在 Connector/Python 1.1.5 中添加的。