transaction:事務,交易
事務可以包含一系列的sql語句,事務的執行具有原子性
1、原子性:
包含多條sql語句要麼都執行成功,要麼都執行不成功
2、回滾:
回到原來沒執行的狀態
先創建表
create table user(
id int primary key auto_increment,
name char(32),
balance int
);
插入數據
insert into user(name,balance)
values
('wsb',1000),
('egon',1000),
('ysb',1000);
開始執行
start transaction;
update user set balance=900 where id=1;
update user set balance=1010 where id=2;
update user set balance=1090 where id=3;
commit; 寫入MySQL,這樣就真的不能回滾了
rollback; 如果沒有commit, 那麼執行這條語句就會回滾, 回到原來沒執行的狀態