事務(wù)
DROP TABLE IF EXISTS account;
-- 創(chuàng)建賬戶表
CREATE TABLE account(
id int PRIMARY KEY auto_increment,
name varchar(10),
money double(10,2)
);
-- 添加數(shù)據(jù)
INSERT INTO account(name,money) values('張三',1000),('李四',1000);
UPDATE account set money = 1000;
select * from account;
-- 開啟事務(wù)
BEGIN;-- 臨時性操作,對其他窗口未進(jìn)行更改
-- 轉(zhuǎn)賬操作
-- 1. 查詢李四賬戶金額是否大于500
-- 2. 李四賬戶 -500
update account set money = money -500 where name ='李四';
--? 出錯了。。。
-- 出現(xiàn)異常了...
-- 3. 張三賬戶 +500
update account set money=money +500 where name ='張三';
-- 提交事務(wù)
commit;-- 事務(wù)的數(shù)據(jù)會被持久化的更改
-- 回滾事務(wù)
rollback;-- 數(shù)據(jù)恢復(fù)成開啟事務(wù)之前的狀態(tài)
標(biāo)簽: