MySql的事務應用與示例詳解。本站提示廣大學習愛好者:(MySql的事務應用與示例詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是MySql的事務應用與示例詳解正文
在MySQL中,事務就是一個邏輯任務單位的一系列步調。事務是用來包管數據操作的平安性。
事務的特點:
1.Atomicity(原子性)
2.Consistency(穩固性,分歧性)
3.Isolation(隔離性)
4.Durability(靠得住性)
注:事務只針對對數據數據發生影響的語句有用。
show engines //檢查mysql鎖支撐的數據引擎
MyISAM不支撐事物,InnoDB支撐事物
默許情形下,MySQL將以主動提交形式運轉,這意味著沒一條小敕令都將當作一個只要一條敕令的事物來履行。
假如要讓mysql支撐支撐事務,只須要修正數據引擎(alter table person type=INNODB)
應用start transaction或許begin敕令來開啟一個事物,應用commit,或許rollback來停止事物。
事物的停止:事物除commit,rollback會停止外,應用DDL或許DCL語句也會停止。
保留點:經由過程保留點機制:用戶可以在事物裡用savepoint name敕令設置一些保留點,今後用戶在應用rollback to savepoint name停止事物時,name之前的數據保留,以後的數據不保留。
mysql應用事務的症結字 begin //翻開一個事務 commit //提交到數據庫 rollback //撤消操作 savepoint //保留,部門撤消,部門提交 alter table person type=INNODB //修正數據引擎
示例以下:
begin update person set name='efgh' where id =10 select * from person rollback select * from person
示例以下:
alter table person type=INNODB begin update person set name='efgh' where id =10 select * from person commit select * from person begin delete from person where id=21 update person set name='efgh' where id =10 commit/rollback
針對下面部門提交,必需用到保留點
保留點留意:
1.只能撤消到某個保留點 rollback to savepoint p1
2.不克不及提交某個保留 commit to savepoint p2//毛病寫法
3.最初commit 把未撤消的保留點去不提交到數據
事務保留點應用例子:
begin; update score set score=40 where scoreid=1; savepoint s1; update score set score=50 where scoreid=2; select * from score; rollback to savepoint s1; select * from score; commit;