Python 默认情况下DB API 2.0自动提交的基本原理?

Python 默认情况下DB API 2.0自动提交的基本原理?,python,transactions,python-db-api,Python,Transactions,Python Db Api,在对国家的描述中: 请注意,如果数据库支持自动提交功能,则必须 一开始就要离开。可以提供一个接口方法将其返回 开 鉴于大多数数据库默认自动提交,其背后的原理是什么 ANSI/ISO SQL标准中定义的事务模型, 在中利用事务的隐式开始和显式提交 成功执行的所有逻辑单元的情况 事务或显式回滚,当需要更改未提交的更改时 回滚(例如,当程序异常终止时);最 RDBMS遵循这个模型 也就是说,SQL标准规定事务应该显式提交或 向后滚 使用显式提交的情况最好描述为: 一些DBMS产品,例如SQL Serv

在对国家的描述中:

请注意,如果数据库支持自动提交功能,则必须 一开始就要离开。可以提供一个接口方法将其返回 开

鉴于大多数数据库默认自动提交,其背后的原理是什么

ANSI/ISO SQL标准中定义的事务模型, 在中利用事务的隐式开始和显式提交 成功执行的所有逻辑单元的情况 事务或显式回滚,当需要更改未提交的更改时 回滚(例如,当程序异常终止时);最 RDBMS遵循这个模型

也就是说,SQL标准规定事务应该显式提交或 向后滚

使用显式提交的情况最好描述为:

一些DBMS产品,例如SQL Server、MySQL/InnoDB、PostgreSQL和 Pyrrho默认在自动提交模式下运行。这意味着结果 每个SQL命令的 数据库中的语句对数据库所做的影响/更改 这个问题是无法回避的。因此,如果出现错误,应用程序需要 对逻辑工作单元执行反向操作,这可能是不可能的 在并发SQL客户端的操作之后。也可防止损坏 数据库中的连接可能处于不一致状态

也就是说,当使用 使用显式提交而不是自动提交

另外,根据我对python邮件列表中的用户的观察 大家一致认为,默认情况下启用自动提交是不好的

国家:

自动提交是ODBC的一件坏事,也是一个相当邪恶的发明。当它 使编写ODBC驱动程序变得更简单(那些不支持ODBC的驱动程序) 交易(即),有时可能存在危险,例如采取 程序崩溃:无法从错误中恢复,因为 数据库无法知道哪些数据有效,哪些数据无效。不 处理“关键任务”的商业应用程序(我喜欢这个术语;-) 数据可能希望在自动提交模式下运行

说:

任何严肃的应用程序都必须管理自己的事务,否则您将 无法控制故障模式

我的印象是,Python开发人员考虑了这类信息,并认为默认情况下关闭自动提交(更容易处理错误和反转)的好处超过了打开自动提交(增加并发性)的好处

根据:

ANSI/ISO SQL标准中定义的事务模型, 在中利用事务的隐式开始和显式提交 成功执行的所有逻辑单元的情况 事务或显式回滚,当需要更改未提交的更改时 回滚(例如,当程序异常终止时);最 RDBMS遵循这个模型

也就是说,SQL标准规定事务应该显式提交或 向后滚

使用显式提交的情况最好描述为:

一些DBMS产品,例如SQL Server、MySQL/InnoDB、PostgreSQL和 Pyrrho默认在自动提交模式下运行。这意味着结果 每个SQL命令的 数据库中的语句对数据库所做的影响/更改 这个问题是无法回避的。因此,如果出现错误,应用程序需要 对逻辑工作单元执行反向操作,这可能是不可能的 在并发SQL客户端的操作之后。也可防止损坏 数据库中的连接可能处于不一致状态

也就是说,当使用 使用显式提交而不是自动提交

另外,根据我对python邮件列表中的用户的观察 大家一致认为,默认情况下启用自动提交是不好的

国家:

自动提交是ODBC的一件坏事,也是一个相当邪恶的发明。当它 使编写ODBC驱动程序变得更简单(那些不支持ODBC的驱动程序) 交易(即),有时可能存在危险,例如采取 程序崩溃:无法从错误中恢复,因为 数据库无法知道哪些数据有效,哪些数据无效。不 处理“关键任务”的商业应用程序(我喜欢这个术语;-) 数据可能希望在自动提交模式下运行

说:

任何严肃的应用程序都必须管理自己的事务,否则您将 无法控制故障模式

我的印象是,Python开发人员考虑了这类信息,并认为默认情况下关闭自动提交(更容易处理错误和反转)的好处超过了打开自动提交(增加并发性)的好处