草庐IT

AutoCommit

全部标签

PHP:PGSQL 驱动程序和 AutoCommit?

我在项目中使用pg_connect和pg_query。但是我真的不确定pg_connect是否使用AutoCommit模式?这个问题很重要,因为我需要在事务下写一些block,如果其中一条语句被服务器忽略,数据库就会不一致...执行后执行pg_query提交也是一个有趣的问题吗?例如:pg_query('begin;updatetable1...;updatetable2...;commit');与相同pg_query('begin;');pg_query('updatetable1...;');pg_query('updatetable2...;');pg_query('commit

php - PDO::ATTR_AUTOCOMMIT 忽略非事务性 INSERT/UPDATE

在这个问题上摸不着头脑......我有一个带有pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);的PDO对象,因为我想对一些InnoDB表使用FORUPDATE。阅读MySQL文档,FORUPDATE将仅在以下情况下锁定读取的行:您正在进行交易您不在事务中并且setautocommit=0已发出因此,我正在使用ATTR_AUTOCOMMIT来允许PDO对象锁定行。在任何一种情况下,这都会导致INSERT和UPDATE语句不适用。这些语句与FORUPDATE无关,它们只是使用准备好的语句运行同一个PDO对象。我的MySQL查询日志如下所示:xxxConn

mysql - MySQL : how to enable autocommit? 上的 Django

我有类似以下在后台进程中运行的代码:defrun()whileTrue:objs=MyModel.objects.filter(last_updated上述函数在两个独立的线程中运行:update()依次更新所有模型,而run()选择需要更新的模型。这一切都针对MySQL运行,而MyModel存在于InnoDB表中。问题是run()总是看到相同的last_updated值。原因是它在事务内部并选择数据的一致快照。自然地,我希望它选择最新的数据。如果我执行以下操作,它将起作用:defrun()fromdjango.dbimportconnectionwhileTrue:connectio

linux - 二郎odbc : How to disable autocommit for oracle

我需要在Linux中使用erlangodbc模块禁用oracle的自动提交。我创建了代码连接:{ok,Con}=odbc:connect("DSN=MyDSN",[{auto_commit,off},{scrollable_cursors,off}]).连接创建成功。当我尝试更新表时,请求成功,但它是自动提交的。我做错了什么? 最佳答案 好的,伙计们。我自己解决了这个问题。正如我之前在评论中所说,问题是Linux的OracleODBC驱动程序在连接创建之前的驱动程序初始化期间忽略了设置自动提交模式。在连接已经创建后,自动提交模式被正