MySQL開啓事務

什麼是事務?mysql

事務是邏輯上的一組操做,組成這組操做的各個單元,要不全都成功要不全都失敗,這個特性就是事務sql

注意:mysql數據支持事務,可是要求必須是innoDB存儲引擎數據庫

解決這個問題:安全

mysql的事務解決這個問題,由於mysql的事務特性,要求這組操做,要不全都成功,要不全都失敗,這樣就避免了某個操做成功某個操做失敗。利於數據的安全ide


如何使用:測試

(1)在執行sql語句以前,咱們要開啓事務 start transaction;spa

(2)正常執行咱們的sql語句blog

(3)當sql語句執行完畢,存在兩種狀況:事務


1,全都成功,咱們要將sql語句對數據庫形成的影響提交到數據庫中,committget

2,某些sql語句失敗,咱們執行rollback(回滾),將對數據庫操做趕忙撤銷


sql測試:
create table test.t1 (c1 int);
ENGINE = InnoDB;
START TRANSACTION;
insert into test.t1 select 1;
select * from test.t1;
rollback;
select 2,c1 from test.t1;
insert into test.t1 select 2;
commit;

select 3,c1 from test.t1;
insert into test.t1 select 3;
select 4,c1 from test.t1;


wKiom1hBGp2SFaaNAAAWFNQY2XY514.png



note:

若是生產數據庫要更新的條目過多,能夠使用開啓事務。

相關文章
相關標籤/搜索