10.2.34 Метод MySQLConnection.start_transaction()
Этот метод запускает транзакцию. Он принимает аргументы, указывающие, использовать ли согласованную моментальную фотографию, какой уровень изоляции транзакции использовать и режим доступа к транзакции:
cnx.start_transaction(consistent_snapshot=bool,
isolation_level=level,
readonly=access_mode)
Значение по умолчанию consistent_snapshot равно False. Если значение равно True, Connector/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 в . Если сервер старше MySQL 5.6.5, он не поддерживает настройку режима доступа, и Connector/Python поднимает исключение ValueError.
Вызов start_transaction() вызывает исключение ProgrammingError, если он вызван во время текущей транзакции. Это отличается от выполнения оператора SQL во время транзакции; оператор неявно фиксирует текущую транзакцию.
Чтобы определить, активна ли транзакция для подключения, используйте свойство in_transaction.
start_transaction() был добавлен в MySQL Connector/Python 1.1.0. Аргумент readonly был добавлен в Connector/Python 1.1.5.
© 2025 Oracle
Licensed under the GPLv2 License.