Bre*_*ett 6 php mysql mysqli transactions autocommit
我只是想知道如果可以做到这一点?例如,如果我要做这样的事情:
$this->db->autocommit(false);
Run Code Online (Sandbox Code Playgroud)
但后来我想把它恢复到默认值; 我不能只假设默认为true并执行此操作:
$this->db->autocommit(true);
Run Code Online (Sandbox Code Playgroud)
如果可能,我想将其重置为默认值; 或者在想要单个查询自动提交时其他人做了什么?你总是跑步:
$this->db->autocommit(true);
Run Code Online (Sandbox Code Playgroud)
...在查询之前确保autocommit已启用?
Jon*_*ake 10
http://php.net/manual/en/mysqli.autocommit.php
To determine the current state of autocommit use the SQL command SELECT @@autocommit.
Run Code Online (Sandbox Code Playgroud)
确定它是否打开以及是否打开它似乎很愚蠢.
另一种方式是使用:
SHOW VARIABLES WHERE Variable_name='autocommit';
Run Code Online (Sandbox Code Playgroud)
此外,在其他变量中自动提交是基于每个连接的,将autocommit设置为true不会影响任何其他连接.找到默认值的唯一方法是通过在建立连接时进行检查(在更改状态之前).