自动提交模式

在自动提交模式下, 每个数据库操作都是在执行时提交的事务。 此模式适用于由单个 SQL 语句组成的许多实际事务。 不必界定或确定这些事务的完成。 在不支持事务的数据库中,自动提交模式是唯一受支持的模式。 在此类数据库中,语句在执行后即被提交,并且无法进行回滚操作,因此总是处于自动提交模式。

如果底层 DBMS 不支持自动提交模式事务,驱动程序可以通过在每次执行 SQL 语句时手动提交来模拟自动提交事务。

如果在自动提交模式下执行一批 SQL 语句,则当批处理中的语句提交时,它是特定于数据源的。 它们可以在执行的过程中被提交,或者在执行完整个批处理后一起提交。 某些数据源可能同时支持这两种行为,并可能提供选择一种或另一种行为的方法。 具体而言,如果在批处理中间发生错误,是否提交或回滚已执行的语句取决于数据源的特性。 因此,使用批处理并要求作为整体提交或回滚的可互作应用程序应仅在手动提交模式下执行批处理。