1、 介绍
2、 mysql中事务
3、 演示事务
准备数据
CREATE TABLE `account` (
`id` int(50) NOT NULL,
`name` varchar(50) NOT NULL,
`money` int(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO account VALUES(1,'张三',1000);
INSERT INTO account VALUES(2,'李四',1000);
-- =============================================
-- 开启事务
start transaction;
-- 开始转账
update account set money = money - 100 where id = 1
-- 出大事了,后面执行不了
update account set money = money + 100 where id = 2
-- 如果一切正常,提交事务
commit;
-- 服务器出现异常,要回滚
rollback;
-- 查询当前事务提交方式
SHOW VARIABLES like 'autocommit';
-- 手动控制事务,自动提交关闭
set autocommit = off;
-- ============= java 伪代码 ==================
try{
conn.setAutocommit(false); -- 自动提交,开启手动事务
conn.execute("update ....")
System.out.print(1/0)
conn.execute("update ....")
conn.commit(); -- 提交
}catch(Exception e) { -- 如果有异常
conn.rollback(); -- 回滚
}
-- 后面学框架,只需要配置一下就ok,一个注解搞定
4、 事务特性
5、 事务的隔离机制
总结一些常用的问题
1 什么是事务 2 mysql事务怎么操作(开启,提交,回滚) 3 事务什么特点(ACID) 4 什么是事务隔离(能解释) 5 有哪些级别,简单解释 6 mysql默认什么级别