最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql實(shí)現(xiàn)事務(wù)的提交和回滾實(shí)例

 更新時(shí)間:2014年06月17日 18:01:13   投稿:shichen2014  
這篇文章主要介紹了mysql實(shí)現(xiàn)事務(wù)的提交和回滾,需要的朋友可以參考下

mysql創(chuàng)建存儲(chǔ)過(guò)程的官方語(yǔ)法為:

復(fù)制代碼 代碼如下:

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

我這里要說(shuō)明的mysql事務(wù)處理多個(gè)SQL語(yǔ)句的回滾情況。比如說(shuō)在一個(gè)存儲(chǔ)過(guò)程中啟動(dòng)一個(gè)事務(wù),這個(gè)事務(wù)同時(shí)往三個(gè)表中插入數(shù)據(jù),每插完一張表需要判斷其是否操作成功,如果不成功則需要回滾,最后一張表判斷其插入成功之后commit。這里需要注意的是不能直接使用事務(wù)的collback,這樣是不能實(shí)現(xiàn)回滾的或者說(shuō)可能出現(xiàn)意外的錯(cuò)誤。

那么我們需要的是一個(gè)條件判斷,比如loop,因?yàn)镸ySql默認(rèn)是會(huì)自動(dòng)提交的,所以我們不用擔(dān)心rollback之后條件退出而沒(méi)有commit。

具體mysql語(yǔ)句如下:

復(fù)制代碼 代碼如下:

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 

相關(guān)文章

  • 總結(jié)MySQL的分區(qū)

    總結(jié)MySQL的分區(qū)

    本文先是介紹了分區(qū),而后又分別說(shuō)明了怎樣判斷是否支持分區(qū)和如何刪除增加分區(qū),對(duì)分區(qū)的總結(jié)很詳細(xì),下面一起來(lái)看看吧。
    2016-08-08
  • MySQL 鎖的相關(guān)知識(shí)總結(jié)

    MySQL 鎖的相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了MySQL 鎖的相關(guān)知識(shí)總結(jié),幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01
  • MySQL字符串轉(zhuǎn)數(shù)字的3種方式實(shí)例

    MySQL字符串轉(zhuǎn)數(shù)字的3種方式實(shí)例

    這篇文章主要給大家介紹了關(guān)于MySQL字符串轉(zhuǎn)數(shù)字的3種方式,在使用mysql中經(jīng)常遇到要將字符串?dāng)?shù)字轉(zhuǎn)換成可計(jì)算數(shù)字,文中給出了詳細(xì)的代碼示例和圖文介紹,需要的朋友可以參考下
    2023-08-08
  • mysql默認(rèn)編碼為UTF-8 通過(guò)修改my.ini實(shí)現(xiàn)方法

    mysql默認(rèn)編碼為UTF-8 通過(guò)修改my.ini實(shí)現(xiàn)方法

    這篇文章主要介紹了mysql默認(rèn)編碼為UTF-8 通過(guò)修改my.ini實(shí)現(xiàn)方法的相關(guān)資料,為了防止出現(xiàn)亂碼,Latin1是不支持漢字的,所以要將其改為UTF-8或GBK,需要的朋友可以參考下
    2017-01-01
  • MySQL5.6免安裝版環(huán)境配置圖文教程

    MySQL5.6免安裝版環(huán)境配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了MySQL免安裝版環(huán)境配置圖文教程,很實(shí)用,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)多字段過(guò)濾的方法

    Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)多字段過(guò)濾的方法

    這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)多字段過(guò)濾的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • 30種SQL語(yǔ)句優(yōu)化的方法匯總

    30種SQL語(yǔ)句優(yōu)化的方法匯總

    這篇文章從30個(gè)方面,分享了sql優(yōu)化的一些小技巧,希望對(duì)你有所幫助,需要的朋友可以參考下
    2022-10-10
  • Mysql ID生成策略的三種方法選擇及優(yōu)缺點(diǎn)

    Mysql ID生成策略的三種方法選擇及優(yōu)缺點(diǎn)

    mysql ID生成策略一般常用的有三種,包括自增、UUID 以及雪花算法,本文主要介紹了Mysql ID生成策略的三種方法選擇及優(yōu)缺點(diǎn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • MySQL查看所有用戶的實(shí)現(xiàn)

    MySQL查看所有用戶的實(shí)現(xiàn)

    本文主要介紹了MySQL查看所有用戶的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • MySQLBackup備份數(shù)據(jù)庫(kù)的操作過(guò)程

    MySQLBackup備份數(shù)據(jù)庫(kù)的操作過(guò)程

    這篇文章主要介紹了MySQLBackup備份數(shù)據(jù)庫(kù)的操作過(guò)程,包括安裝部署和配置備份管理員的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03

最新評(píng)論

海城市| 桦川县| 沙坪坝区| 沭阳县| 澄迈县| 崇信县| 宁晋县| 阿克苏市| 湖北省| 沅陵县| 增城市| 荆门市| 涟水县| 高密市| 乐安县| 怀远县| 沂水县| 闵行区| 富宁县| 湘潭市| 定州市| 巴南区| 贺州市| 江阴市| 峨边| 石棉县| 资溪县| 囊谦县| 巴南区| 和静县| 连江县| 同仁县| 武宁县| 海晏县| 夹江县| 巴马| 梨树县| 博罗县| 辽阳县| 沂南县| 长沙市|