set @@autocommit = 0;
select * from acount where name = '嘉宝' && acount.money >= 1000;
update acount set money = money - 1000 where name = '嘉宝';
update acount set money = money + 1000 where name = '煎包';
commit ;
脏读;当有两个事务使用同一数据库时,一个事务读取到另一个事务未commit的数据,使用read commited 能规避脏读(得另一个事务提交才可以)
不可重复读:当两个事务使用同一数据库时,一个事务读取另一个事务未提交前后的数据不一样,则为不可重复读,用repeated commited可以规避(得本事务提交才可以)
幻读:当两个事务使用同一事务时,一个事务在查某数据时没有,同时另一个事务提交了插入该数据的语句,则事务插入时会提示已存在,而查找时就不存在,使用Serializable可规避(当在查时阻塞对其的操作,提交才能继续)