国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql實現事務的提交和回滾實例

2024-07-24 12:47:13
字體:
來源:轉載
供稿:網友

mysql創建存儲過程的官方語法為:

復制代碼 代碼如下:

START TRANSACTION | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET AUTOCOMMIT = {0 | 1}

我這里要說明的mysql事務處理多個SQL語句的回滾情況。比如說在一個存儲過程中啟動一個事務,這個事務同時往三個表中插入數據,每插完一張表需要判斷其是否操作成功,如果不成功則需要回滾,最后一張表判斷其插入成功之后commit。這里需要注意的是不能直接使用事務的collback,這樣是不能實現回滾的或者說可能出現意外的錯誤。

那么我們需要的是一個條件判斷,比如loop,因為MySql默認是會自動提交的,所以我們不用擔心rollback之后條件退出而沒有commit。

具體mysql語句如下:

復制代碼 代碼如下:

begin
 loop_lable: loop
  start transaction;
   insert into table1(f_user_id) values(user_id);
  if row_count() < 1 then 
    set @ret = -1;  
    rollback; 
    leave loop_label;
  end if;
  insert into table2(f_user_id) values(user_id);
 if row_count() < 1 then 
  set @ret = -1; 
    rollback; 
   leave loop_label;
  end if;
   insert into table3(f_user_id) values(user_id);
  if row_count() < 1 then 
    set @ret = -1; 
    rollback; 
    leave loop_label;
  else 
    set @ret = 0; 
    commit; 
    leave loop_label;
  end if;
  end loop;
  select @ret;
end 

您可能感興趣的文章:

深入解析MySQL的事務隔離及其對性能產生的影響MySQL中Innodb的事務隔離級別和鎖的關系的講解教程MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)MySQL存儲過程例子(包含事務,輸出參數,嵌套調用)Mysql中的事務是什么如何使用MySql的事務使用與示例詳解php+mysql事務rollback&commit示例PHP操作MySQL事務實例mysql 鎖表鎖行語句分享(MySQL事務處理)mysql存儲過程事務管理簡析MySQL 四種事務隔離級別詳解及對比
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯门区| 安化县| 保靖县| 长阳| 满城县| 新平| 竹山县| 临桂县| 连平县| 湟源县| 仁怀市| 电白县| 定南县| 平遥县| 东乡县| 馆陶县| 福州市| 宜城市| 务川| 丰台区| 太和县| 西峡县| 西林县| 舟山市| 阿拉善右旗| 汤阴县| 津南区| 福贡县| 镇远县| 邵东县| 石门县| 额尔古纳市| 营口市| 华安县| 河池市| 杨浦区| 田东县| 逊克县| 泗水县| 灵石县| 藁城市|