本文介绍了如何在sqlalChemy.Engine.Connection中设置autoCommit=1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
在sqlalChemy中,我建立连接:
conn = engine.connect()
我发现这将在我的mysqld日志中设置autoCommit=0。
现在我想设置autoCommit=1,因为我不想在事务中查询。
有办法做到这一点吗?
推荐答案
发件人The SQLAlchemy documentation: Understanding autocommit
conn = engine.connect()
conn.execute("INSERT INTO users VALUES (1, 'john')") # autocommits
只有在没有以其他方式声明Transaction
的情况下,"自动提交"功能才有效。这意味着该功能通常不与ORM一起使用,因为默认情况下Session
对象始终维护正在进行的Transaction
。
Engine
,Executable
上提供的生成性Connection.execution_options()
方法,使用将打开或关闭选定作用域的自动提交的"autoCommit"标志,可以完全控制"自动提交"行为。例如,表示提交的存储过程的text()
构造可能会使用它,以便SELECT语句将发出COMMIT:
engine.execute(text("SELECT my_mutating_procedure()").execution_options(autocommit=True))
这篇关于如何在sqlalChemy.Engine.Connection中设置autoCommit=1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!