一、事务处理语句
1、begin,rollback,commit
- begin;/start transaction; 开始事务
- rollback; 回滚事务(撤销所有未提交的事务)
- commit; 提交事务**
2、改变mysql的提交模式
- set autocommit=0; 禁止自动提交
- set autocommit=1; 开启自动提交
3、保存点
- savepoint s1; 设置自动保存点s1
- rollback to s1; 回滚到s1
注:自动提交事务,就是不需要commit就能提交事务。
二、事务处理实例
create table test(id int);
-- 开始事务,提交事务
-- 所以1被插入
begin;
insert into test values(1);
commit;
-- 先回滚事务,再提交事务
-- 所以2没有被插入
begin;
insert into test values(2);
rollback;
commit;
-- 先回滚到s1,再提交事务
-- 所以3被插入,4没有被插入
begin;
insert into test values(3);
savepoint s1;
insert into test values(4);
rollback to s1;
commit;
-- 回滚事务,事务未提交
-- 所以5没有被插入
start transaction;
insert into test values(5);
rollback;
-- 自动提交,再回滚
-- 所以6会被插入
set autocommit=1;
insert into test values(6);
rollback;
-- 禁止自动提交 再回滚
-- 所以7未被插入
set autocommit=0;
insert into test value(7);
rollback;
select*from test;
运行结果:

本文介绍了MySQL的事务处理语句,包括begin、rollback、commit的使用,以及如何改变自动提交模式。此外,还提供了保存点的概念和实例,详细解释了如何设置和回滚到保存点。

1972

被折叠的 条评论
为什么被折叠?



