事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
CREATE TABLE `account` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` varchar(20) NOT NULL COMMENT '姓名',
`money` int(11) NOT NULL COMMENT '余额',
PRIMARY KEY (`id`)
) COMMENT='账户表';
INSERT INTO `account` (`name`, `money`) VALUES ('张三', 2000), ('李四', 2000);
select @@autocommit;
set @@autocommit=0;
COMMIT;
ROOLBACK;
select @@autocommit;
set @@autocommit=0;
select * from account where name='张三';
update account set money = money - 1000 where name='张三';
update account set money = money + 1000 where name='李四';
commit;
rollback;
start transaction 或者 begin;
查看事务隔离级别
select @@transaction_isolation;
设置事务隔离级别
set [session|global] transaction isolation level {read uncommitted | read committed | repeatable read | serializable}
set session transaction isolation level read uncommitted;
事务隔离等级越低,性能越高,反之越低。