money double);# 初始化數(shù)據(jù)insert into account values (null,'a',1000);insert into account values (null,'b',1000);
手動提交事務(wù)
手動提交事務(wù)有關(guān)的sql語句
SQL語句 描述
commit 提交事物
rollback 回滾事物
手動提交事務(wù)使用步驟
開啟事務(wù)–>執(zhí)行SQL語句–>成功–>提交事務(wù)
開啟事務(wù)–>執(zhí)行SQL語句–>失敗–>回滾事務(wù)
演示案例:演示提交事務(wù),a給b轉(zhuǎn)賬100元
-- 1.開啟事務(wù)start transaction;-- 2.執(zhí)行sql語句update account set money=money-100 where name='a';update account set money=money+100 where name='b';-- 3.提交事務(wù)commit;
案例演示:演示回滾事務(wù),a給b轉(zhuǎn)賬100元
-- 1.開啟事務(wù)start transaction;-- 2.執(zhí)行sql語句update account set money=money-100 where name='a';update account set money=money+100 where name='b';-- 3.回滾事務(wù)rollback;
-- 自動提交事務(wù):每條sql語句就是一個事務(wù),那么執(zhí)行一條sql語句就會提交一次事務(wù)-- mysql數(shù)據(jù)庫就是自動提交事務(wù)-- a給b轉(zhuǎn)賬100元update account set money=money-100 where name='a';update account set money=money+100 where name='b';-- 查看mysql是否自動提交事務(wù)-- autocommit的值是on表示自動提交事務(wù),值是off表示關(guān)閉自動提交事務(wù)show variables like '%commit%';-- 我們可以使用命令臨時設(shè)置mysql變?yōu)槭謩犹峤皇聞?wù),即將自動提交事務(wù)關(guān)閉-- 下次重新連接mysql依然是自動提交事務(wù)set autocommit = 0; -- 0 表示關(guān)閉自動提交事務(wù) 1表示開啟自動事務(wù)update account set money=money-100 where name='a'