1. 什么是事务?
事务是一系列的sql操作,要么全部成功,要么全部失败。他们符合ACID特性。
2.事务处理语句
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就能提交事务。
3.事务处理实例
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;