MySQL事物实战篇
前面一篇博客已经了解了事物的一些特征,这里先来看如下的一个执行流程:
1. 案例一
先创建表:
mysql> create table k (
-> id int primary key,
-> k int(11) not null)
-> engine = innodb;
Query OK, 0 rows affected (0.36 sec)
mysql> insert into k values((1,1),(2,2));
执行上表的操作,这里先注意一下:
-
start transaction with consistent snapshot代表马上启动一个事物,begin/start transaction 命令并不是一个事物的起点,在执行到他们之后的第一个操作InnoDB表的语句,事物才真正启动;
两者的区别:- 第一种启动方式:一致性视图是在执行start transaction with consistent snapshot时创建的;
- 第二种启动方式:一致性视图是在执行第一个快照读语句时创建的;
- 即当事物一用第一种方式启动后,在事物二更新一行数据后,在事物一中查