有没有办法在MySQL中获取autocommit的默认值?

时间:2014-11-13 16:03:40

标签: php mysql mysqli transactions autocommit

我只是想知道如果可以这样做的话?例如,如果我要做这样的事情:

$this->db->autocommit(false);

但后来我想把它恢复到默认值;我不能只假设默认为true并执行此操作:

$this->db->autocommit(true);

如果可能,我想将其重置为默认值;或者在想要单个查询自动提交时其他人做了什么?你总是跑步:

$this->db->autocommit(true);

...在查询之前确保autocommit已启用?

1 个答案:

答案 0 :(得分:8)

http://php.net/manual/en/mysqli.autocommit.php

To determine the current state of autocommit use the SQL command SELECT @@autocommit.

确定它是否打开以及是否打开它似乎很愚蠢。

另一种方法是使用:

SHOW VARIABLES WHERE Variable_name='autocommit';

此外,在其他变量中自动提交是基于每个连接的,将autocommit设置为true不会影响任何其他连接。找到默认值的唯一方法是通过在建立连接时进行检查(在更改状态之前)。