先准备一张account表并插入数据
create table account(id int auto_increment primary key comment '主键ID',name varchar(10) comment '姓名',money int comment '余额'
) comment '账户表';insert into account(id, name, money) values (null, '张三', 2000), (null, '李四', 2000);
修改事务的性能
set @@autocommit = 1;(自动提交)set @@autocommit = 0;(手动提交)
查找事务性能
select @@autocommit
方式1:转账操作(张三给李四转账1000)
1. 查询张三账户余额
select * from account where name = '张三';
2. 将张三账户的余额-1000
update account set money = money -1000 where name = '张三';
程序执行出错。。
3. 将李四账户余额+1000
update account set money = money + 1000 where name = '李四';
提交事务
commit;
回滚事务
rollback;
方式2:转账操作(张三给李四转账1000)
开启事务
start transaction ;
1. 查询张三账户余额
select * from account where name = '张三';
2. 将张三账户的余额-1000
update account set money = money -1000 where name = '张三';
程序执行出错。。
3. 将李四账户余额+1000
update account set money = money + 1000 where name = '李四';
提交事务
commit;
回滚事务
rollback;