Postgresql(通过psql)似乎在每个语句之后始终自动提交,除非发出了一个begin命令,在这种情况下,它会在commit / rollback时提交。好的。
但是ODBC有一个autocommit标志,可以选择是否启用它。这是一种事务模式。这是一种不同于使用begin的模型。
那么它们如何交互呢?ODBC autocommit实际上发送任何内容到服务器吗?或者如果设置为false,则只发出隐藏的begin?假设我将autocommit设置为false,然后执行...
但是ODBC有一个autocommit标志,可以选择是否启用它。这是一种事务模式。这是一种不同于使用begin的模型。
那么它们如何交互呢?ODBC autocommit实际上发送任何内容到服务器吗?或者如果设置为false,则只发出隐藏的begin?假设我将autocommit设置为false,然后执行...
-- autocommit = false in ODBC driver
-- no explicit begin
update 1;
update 2;
rollback;
-- no begin
update 4;
update 5;
rollback;
更新4会被回滚吗?我认为其他的都会被回滚。
请不要回答自动提交会在每个查询之后自动提交。这是一个(相对)复杂的问题。