程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql的事務應用與示例詳解

MySql的事務應用與示例詳解

編輯:MySQL綜合教程

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;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved