- 什么是事務(wù)?
事務(wù)是由一個(gè)或多個(gè)sql語句組成的一個(gè)整體,如果所有語句執(zhí)行成功那么修改將會(huì)全部生效,如果一條sql語句將銷量+1,下一條再+1,倘若第二條失敗,那么銷量將撤銷第一條sql語句的+1操作,只有在該事務(wù)中所有的語句都執(zhí)行成功才會(huì)將修改加入數(shù)據(jù)庫中。 - 事務(wù)的特性:
原子性
原子性是指事務(wù)所有操作要么全部成功,要不全部失敗回滾,因此事務(wù)的操作如果成功就必須全部完全應(yīng)用刀數(shù)據(jù)庫,如果操作失敗這不餓能對(duì)數(shù)據(jù)庫有任何的影響。
一致性
一致性是指事務(wù)必須使數(shù)據(jù)庫從一個(gè)一致性的狀態(tài)變換到另一個(gè)一致性狀態(tài),也就是說一個(gè)事務(wù)執(zhí)行之前客執(zhí)行之后必須處于一致性狀態(tài)
拿轉(zhuǎn)賬來說,假設(shè)用戶A和用戶B兩者的前加起來一共是5000,那么不管A和B之間怎么轉(zhuǎn)賬兩個(gè)用戶的錢相加起來來應(yīng)該還的是5000,這就是事務(wù)的一致性。
隔離性
隔離性是當(dāng)多個(gè)用戶并發(fā)訪問數(shù)據(jù)庫時(shí),比如操作同一張表的時(shí)候,數(shù)據(jù)庫為每一個(gè)用戶開啟事務(wù),不會(huì)被其他操作所干擾
,并發(fā)事務(wù)之間要相互隔離。
持久性
持久性是指一個(gè)事務(wù)一旦被提交了,那么對(duì)數(shù)據(jù)庫中的數(shù)據(jù)的改變就是永久性的。
MySQL中支持事務(wù)的引擎
在mysql中用的最多 的存儲(chǔ)引擎有:INNODB , BDB ,MYISAM, MEMORY,
其中 INNODB ,BDB 支持事務(wù),其他的不支持事務(wù)。
網(wǎng)頁標(biāo)題:什么是數(shù)據(jù)庫事務(wù)?
標(biāo)題鏈接:
http://weahome.cn/article/iidojo.html