此方法启动事务。它接受指示是否使用一致快照、使用哪个事务隔离级别以及事务访问模式的参数:
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()
会引发一个
ProgrammingError
if 调用,而事务当前正在进行中。这不同于START
TRANSACTION
在事务处理过程中执行 SQL 语句;该语句隐式提交当前事务。
要确定连接的事务是否处于活动状态,请使用 in_transaction 属性。
start_transaction()
在 MySQL 连接器/Python 1.1.0 中添加。该readonly
参数是在 Connector/Python 1.1.5 中添加的。