От The SQLAlchemy documentation: Understanding autocommit
conn = engine.connect()
conn.execute("INSERT INTO users VALUES (1, 'john')") # autocommits
Функция «автокоммит» только в силу, когда нет Transaction
не иначе был объявлен. Это означает, что функция обычно не используется с ORM, поскольку объект Session
по умолчанию всегда поддерживает текущий Transaction
.
Полный контроль за поведение «автоматической фиксации» доступен с помощью порождающей Connection.execution_options()
метод, предусмотренных на Connection
, Engine
, Executable
, с помощью «автоматической фиксации» флага, который будет включить или выключить AUTOCOMMIT для выбранной области. Например, text()
конструкция, представляющая собой хранимую процедуру, обязывающее может использовать его таким образом, что ЗЕЬЕСТ будет выдавать COMMIT:
engine.execute(text("SELECT my_mutating_procedure()").execution_options(autocommit=True))
Это делает работу, когда я хочу совершить сразу же после SQL statement.But это будет по-прежнему запрашивать мастер SQL-сервера, я хочу чтобы установить autocommit = 1 перед оператором sql.Because, если это так, этот sql будет запрашивать подчиненный mysql-server.So Как это сделать? Я прочитал ссылку, которую вы указали, но ответа пока нет. – izual