2015-04-03 56 views
0

autocommit在SQLAlchemy中:2是否自动提交同样的东西:SQLAlchemy和MySQL?

sessionmaker(bind=engine, autocommit=False) # autocommit default False 

autocommit在MySQL:

SET AUTOCOMMIT=0 -- autocommit default 1 

我想知道,是两个autocommits是一回事吗?即SQLAlchemy通过SET AUTOCOMMIT通过一些东西将通过autocommit状态传递给MySQL?

回答

0

根据the docs,这些不完全相同(尽管他们达到了相同的结果)。

SQLAlchemy 总是使用事务,所以它总是在MySQL上设置AUTOCOMMIT=0。但是,如果您设置了autocommit=True,则只要您更改数据,它就会自动调用.commit()

这样做是因为每个数据库都以不同方式自动提交(如果有的话),并且SQLAlchemy试图在它们之间保持一致。

相关问题