MySQL 事物和事物回滾

2021-10-01 23:47:51 字數 1131 閱讀 4973

原子性一致性隔離性永續性

事務應用

開啟事務

mysql> begin;

mysql> …一條或者多條sql命令

此時autocommint被禁用終止事務

mysql> commit;

mysql> rollback; 注意

事務回滾只針對於表記錄的操作:增、刪、改有效

對建立庫、建立表的操作無效背景

你:建行卡

朋友:工商卡

你在建行自動取款機上給朋友工商卡轉5000元

過程

表1: ccb

create

table ccb(

name char(15

),money int);

insert

into ccb values

("zhuanqian"

,10000);

表2:icbc

create

table icbc(

name char(15

),money int);

insert

into icbc values

("shouqian"

,4000);

mysql>

begin

;mysql>

update ccb set money =

5000

where name =

"zhuanqian"

;updata icbc set 斷電了 宕機了...

;# error

mysql>

rollback

;mysql>

select

*from ccb;

+-----------+-------+

| name | money |

+-----------+-------+

| zhuanqian |

10000|+

-----------+-------+

SQL 事物回滾

第一種 declare ierrorcount int set ierrorcount 0 begin tran tran1 insert into t1 id,c1 values 1,1 set ierrorcount ierrorcount error insert into t1 id,c1 ...

Spring事物手動回滾

手動回滾 方法1 在service層方法的catch語句中增加 transactionaspectsupport.currenttransactionstatus setrollbackonly 語句,手動回滾,這樣上層就無需去處理異常 現在專案的做法 方法2 例如service層處理事務,那麼se...

spring事物回滾無效

錯誤情況1.錯誤原因 spring沒有掃瞄相應的類,以前掃包都是在springmvc中直接這樣掃了,就能夠將testing下的controller和service那些都交給了spring,其實都是給了springmvc,根本沒有給spring,所以spring完全無法新增事物,解決方法 後台spri...