2015-04-03 81 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試圖在它們之間保持一致。

相關問題