原子性一致性隔離性永續性
事務應用
開啟事務
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...