开始:
start transaction; # 一定要有这个 ‘;’ 号。
注意:
MYSQL 用的是快照隔离、就是说一个连接在修改的时候别的连接还是可以查询的。
例子:
create table T1(X int);
insert into T1(X) values(100);
连接A、
start transaction;
update T1
set X = 200;
连接B、
select X from T1; ------ return 100
-----------------------------------------------------------------------------------------------------------------------------------------------
同样的事在SQL Server 中就不一样了 、SQL server 会要求连接B等待;
总结:
快照隔离可以提供更大的并发性、但是数据不是“最新”的。