国产探花免费观看_亚洲丰满少妇自慰呻吟_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 四種事務隔離級別詳解及對比
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹江口市| 宁明县| 星子县| 浦城县| 郁南县| 沅江市| 调兵山市| 南涧| 石棉县| 沁阳市| 天祝| 北海市| 天全县| 新余市| 扎鲁特旗| 鄂伦春自治旗| 苏尼特左旗| 万年县| 南康市| 南昌县| 茶陵县| 广汉市| 沙田区| 富源县| 东平县| 黔东| 尖扎县| 焉耆| 乐山市| 信阳市| 南充市| 汝南县| 北流市| 顺昌县| 宁河县| 西乡县| 湄潭县| 包头市| 湘潭市| 隆回县| 鹤庆县|