標籤:row 知識 lin insert date back line ble 異常
事務
事務用於將某些操作的多個SQL作為原子性操作,一旦有某一個出現錯誤,即可復原到原來的狀態,從而保證資料庫資料完整性。
事務執行個體:
create table user(id int primary key auto_increment,name char(32),balance int);insert into user(name,balance)values(‘大木木‘,1000),(‘二木木‘,1000),(‘三木木‘,1000);#原子操作start transaction;update user set balance=900 where name=‘大木木‘; #買支付100元update user set balance=1010 where name=‘二木木‘; #中介拿走10元update user set balance=1090 where name=‘三木木‘; #賣家拿到90元commit;#出現異常,復原到初始狀態start transaction;update user set balance=900 where name=‘大木木‘; #買支付100元update user set balance=1010 where name=‘二木木‘; #中介拿走10元uppdate user set balance=1090 where name=‘三木木‘; #賣家拿到90元,出現異常沒有拿到rollback; #回到原來的狀態commit;mysql> select * from user;+----+------+---------+| id | name | balance |+----+------+---------+| 1 | 大木木 | 1000 || 2 | 二木木 | 1000 || 3 | 三木木 | 1000 |+----+------+---------+3 rows in set (0.00 sec)
附:Mysql 基本用法
一、【Mysql 基本用法之視圖】
二、【Mysql 基本用法之觸發器】
三、【Mysql 基本用法之事務】
四、【Mysql 基本用法之預存程序】
五、【Mysql 基本用法之函數】
六、【Mysql 基本用法之流程式控制制】
知識點:Mysql 基本用法之事務