php - 有没有办法在MySQL中获取自动提交的默认值?

标签 php mysql mysqli transactions autocommit

我只是想知道这个标题是否可以做到?例如,如果我要做这样的事情:

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

但之后我想将它设置回默认值;我不能假设它默认为 true 并执行此操作:

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

如果可能的话,我想将它重置为默认值;或者其他人在希望单个查询自动提交时会做什么?你经常运行吗:

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

...在查询之前确保 autocommit 开启?

最佳答案

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';

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

关于php - 有没有办法在MySQL中获取自动提交的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913154/

相关文章:

php - 在 Netbeans PHP 6.8 中编辑评论模板

php - 邮件列表数据模式

javascript - PHP/HTML/MySQL 数据库查询,具有多个搜索参数并显示结果

php - mysqli query select 例如notification query select from 4 other tables which are constrained by a certain key value and return a singular result

php - Mysql到Mysqli

javascript - 如何在没有 cgi 的情况下从 python 到 JavaScript 获取 float

php 到 AJAX 表单提交

mysql - 在列中获取表行

MySQL:更新一个完整的表,插入一个 MD5 哈希,为每一行一个特定的

php - 如何使用 mysqli 设置排序规则?