Mysql 无法禁用自动提交?
我有一个Ubuntu12.04客户虚拟机,上面有一个MySQL 5.5.35实例。我似乎无法绕过/关闭Mysql 无法禁用自动提交?,mysql,commit,autocommit,Mysql,Commit,Autocommit,我有一个Ubuntu12.04客户虚拟机,上面有一个MySQL 5.5.35实例。我似乎无法绕过/关闭自动提交功能 我想尝试一些与选择相关的场景。。。更新,因此我打开了两个数据库会话—一个来自VM本身的MySQL工作台,另一个来自Windows主机上的MySQLCLI。无论我在两次会议中做了什么,都会立即在另一次会议中看到。自动提交或无自动提交集、事务或无事务、显式提交或无显式提交 我尝试了以下方法: 1) 通过配置禁用它 [mysqld] autocommit = 0 根据显示全局变量,
自动提交
功能
我想尝试一些与选择相关的场景。。。更新
,因此我打开了两个数据库会话—一个来自VM本身的MySQL工作台,另一个来自Windows主机上的MySQL
CLI。无论我在两次会议中做了什么,都会立即在另一次会议中看到。自动提交或无自动提交集、事务或无事务、显式提交或无显式提交
我尝试了以下方法:
1) 通过配置禁用它
[mysqld]
autocommit = 0
根据显示全局变量
,有效地将全局自动提交
变量设置为关闭。不起作用
2) 作为第一个命令运行此命令
set autocommit=0;
select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
| 1 |
+--------------+
不起作用
3) 打开显式事务
start transaction; // tried begin; as well
...
commit;
不起作用
对于每个INSERT/UPDATE
语句,即使数据库设置和变量的显示方式不同,数据库的自动提交功能始终处于启用状态commit
语句始终返回0个受影响的行
我是不是遗漏了什么。。。?
这是否可能与用户/权限有关…?您是否使用支持事务的数据库引擎?e、 g.如果您使用的是MyISAM,那么就没有事务,并且无论您是否使用支持事务的数据库引擎,“自动提交”都将保持启用状态?e、 如果您使用的是myisam,那么就没有事务,自动提交将保持不变。Marc,看来您是对的。。。我在MyISAM表上执行了所有的测试,甚至都没有考虑检查引擎类型。。。请根据你的意见回答,这样我就可以接受了。