Python 这两个自动提交是一样的:SQLAlchemy和MySQL吗?

Python 这两个自动提交是一样的:SQLAlchemy和MySQL吗?,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,SQLAlchemy中的自动提交: sessionmaker(bind=engine, autocommit=False) # autocommit default False MySQL中的自动提交: SET AUTOCOMMIT=0 -- autocommit default 1 我想知道,这两个自动提交是同一件事吗?i、 SQLAlchemy通过与设置自动提交等价的东西将自动提交状态传递给MySQL 根据研究,这些结果并不完全相同(尽管它们达到了相同的结果) SQLAlchemy总

SQLAlchemy中的自动提交:

sessionmaker(bind=engine, autocommit=False)  # autocommit default False
MySQL中的自动提交:

SET AUTOCOMMIT=0  -- autocommit default 1
我想知道,这两个自动提交是同一件事吗?i、 SQLAlchemy通过与
设置自动提交
等价的东西将
自动提交
状态传递给MySQL

根据研究,这些结果并不完全相同(尽管它们达到了相同的结果)

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

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