千家信息网

mysql中autocommit与sql回滚有什么关系

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"mysql中autocommit与sql回滚有什么关系",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"mysql中autocommit与s
千家信息网最后更新 2026年11月01日mysql中autocommit与sql回滚有什么关系

本篇内容主要讲解"mysql中autocommit与sql回滚有什么关系",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"mysql中autocommit与sql回滚有什么关系"吧!

mysql中autocommit与sql回滚的关系

今天群里有人问了一个mysql中sql执行出错是否会回滚的问题。第一个感觉这个答案应该和autocommit有关。

首先交代下背景,问题复现一下:
执行sql:
www.2cto.com
1
root@wlb 12:48:30>update wlb_schedule_02 set status=status*10 where gmt_create<="2012-08-16 1:00:00";
然后报了error:
1
ERROR 1197 (HY000): Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again
首先这是对多行进行了操作,如果其中一行出错或者执行到某行时出错,那么之前的语句是否会回滚?答案是肯定的。
但是什么时不会回滚,什么时候又会回滚呢?这个和autocommit又有什么关系呢?
1
show VARIABLES like '%autocommit%';
显示autocommit是否打开,然后关闭autocommit
1
set autocommit=0;
然后对test1表插入数据,其中那么字段是非空的,所以插入空值时肯定报错了
1
INSERT INTO test1 (age,name) VALUEs (20,'1');
2
INSERT INTO test1 (age,name) VALUEs (20,'2');
3 www.2cto.com
INSERT INTO test1 (age,name) VALUEs (20,null);
4
INSERT INTO test1 (age,name) VALUEs (20,'4');
因为不会自动提交,所以执行到第三条是会全部回滚,所以最后中没有数据
然后把autocommit打开
1
set autocommit=1;
再执行插入语句:
1
INSERT INTO test1 (age,name) VALUEs (20,'1');
2
INSERT INTO test1 (age,name) VALUEs (20,'2');
3
INSERT INTO test1 (age,name) VALUEs (20,null);
4
INSERT INTO test1 (age,name) VALUEs (20,'4');
因为会自动提交,所以执行完前两条的时候,数据会插入数据库,然后第三条的时候就报错了。所以数据库中会有两条数据。
解析来我们来模拟今天的实际问题,我们把autocommit设置成ture
www.2cto.com
然后执行下面的语句
1
INSERT INTO test1 (age,name) VALUEs (20,'1'),(20,'2'),(20,null),(20,'4');
虽然是autocommit了,整个语句也会报错,执行到第三条的时候也会报错,但是前两条也没有提交成功。
总结一下,如果是多次插入或修改多行的数据时,autocommit会影响执行成功的数据是否提交。如果在一条语句中执行的时候,那么会把整个操作当成一个事务来执行,所以这时候autocommit是否打开也没有作用了。单条语句成功就成功,失败即回滚。

到此,相信大家对"mysql中autocommit与sql回滚有什么关系"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 语句 时候 成功 问题 三条 内容 实际 数据库 答案 会报 多行 学习 肯定 实用 更深 一行 事务 作用 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司的优势 关于新基建和互联网科技 兼蜜互联网科技 中国互联网金融科技基金 湖南洣水互联网科技有限公司扣款 博兴的互联网电子科技公司 现代科技和互联网有关系吗 北京三清互联网科技 北京华百购互联网科技有限公司 彤创互联网科技有限公司 青岛科技大学互联网大赛研究生 互联网科技的全部知识 互联网科技大赛获奖感言 互联网科技如何创业 江苏苏星互联网科技有限公司 宇信科技在杭州互联网排第几 互联网与数字科技关系 普陀区互联网教育科技管理办法 科技信息时代互联网发展 互联网对科技影响 鸠鸠互联网科技 科技创新互联网企业 互联网科技公司做什么 温州喔噻互联网科技有限公司 互联网金融科技公司干啥的 华夏恒生科技与互联网科技 玉溪新华互联网科技好不好 电子商务与互联网科技的关系 张召忠谈中国互联网科技 广州智享互联网科技
0