日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

事务操作 mysql的事务操作

發布時間:2025/3/19 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 事务操作 mysql的事务操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

事務操作

舉例:

create table my_account(
id int unsigned not null primary key auto_increment,
account varchar(16) not null unique,
name varchar(10) not null,
money decimal(20,2)) charset utf8;


insert into my_account values
(1 , "0000000000000000" , "張三", 1000),
(2 , "1111111111111111" , "李四", 2000),
(3 , "2222222222222222" , "王五", 3000);

-- 如果此時進行轉賬操作
update my_account set money = money - 500 where id = 1;

-- 如果停電 就會出問題:張三轉賬給某人了 可是某人沒收到 而且張三也虧了500元

/****************************************************************************/

-- 事務操作 (1.手動提交 2. 自動提交(默認)
start transaction; ? ? ? ? ? //開啟事務操作

-- 轉賬
update my_account set money = money - 500 where id = 1;

-- 查詢數據
select * from my_account; (查看到已經扣了500 其實這是 事務管理 操作了的)

-- 此時停電 會 回滾

-- 轉賬
update my_account set money = money + 500 where id = 2;

-- 手動提交
commit;

/*******************************************************************************/


-- 有關回滾點


-- 開啟事務
start transaction;

-- 2 3轉賬給1 500元
update my_account set money = money - 500 where id = 2;

-- 設置回滾點?
savepoint sp1;

update my_account set money = money - 600 where id = 3; //這步做錯了

-- 回滾
rollback to sp1;

圖片展示:

總結

以上是生活随笔為你收集整理的事务操作 mysql的事务操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。