欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

具體mysql語句如下:

復(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)文章

  • MySQL實(shí)戰(zhàn)記錄之如何快速定位慢SQL

    MySQL實(shí)戰(zhàn)記錄之如何快速定位慢SQL

    這可能是困然很多人的一個(gè)問題,MySQL通過慢查詢?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的SQL語句,下面這篇文章主要給大家介紹了關(guān)于MySQL實(shí)戰(zhàn)記錄之如何快速定位慢SQL的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • mysql數(shù)據(jù)庫重命名語句分享

    mysql數(shù)據(jù)庫重命名語句分享

    這篇文章主要介紹了mysql數(shù)據(jù)庫重命名語句救命示例,語句中的數(shù)據(jù)庫表前綴換成自己的就可以了,大家參考使用吧
    2014-01-01
  • MySQL約束攻擊的原理和復(fù)現(xiàn)方式

    MySQL約束攻擊的原理和復(fù)現(xiàn)方式

    這篇文章主要介紹了MySQL約束攻擊的原理和復(fù)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,
    2023-11-11
  • 詳解mysql DML語句的使用

    詳解mysql DML語句的使用

    這篇文章主要介紹了詳解mysql DML語句的使用,幫助大家更好的理解和學(xué)習(xí)mysql,感興趣的朋友可以了解下
    2020-08-08
  • 淺談Mysql大數(shù)據(jù)分頁查詢解決方案

    淺談Mysql大數(shù)據(jù)分頁查詢解決方案

    本文主要介紹了淺談Mysql大數(shù)據(jù)分頁查詢解決方案,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Mysql中強(qiáng)大的group?by語句解析

    Mysql中強(qiáng)大的group?by語句解析

    這篇文章主要介紹了Mysql中強(qiáng)大的group?by語句解析,GROUP?BY?語句根據(jù)一個(gè)或多個(gè)列對結(jié)果集進(jìn)行分組。在分組的列上我們可以使用?COUNT,?SUM,?AVG,等函數(shù),需要的朋友可以參考下
    2023-07-07
  • 一文搞懂MySQL索引特性(清晰明了)

    一文搞懂MySQL索引特性(清晰明了)

    索引可以提高數(shù)據(jù)庫的性能,提高一個(gè)海量數(shù)據(jù)的檢索速度,但是插入,更新,刪除的速度相應(yīng)會(huì)降低,下面這篇文章主要給大家介紹了關(guān)于MySQL索引特性的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Mysql如何查看表的索引

    Mysql如何查看表的索引

    這篇文章主要介紹了Mysql如何查看表的索引問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • mysql 5.7.17 64bit安裝配置方法圖文教程

    mysql 5.7.17 64bit安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17 64bit解壓縮版安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Mysql主從同步Last_IO_Errno:1236錯(cuò)誤解決方法

    Mysql主從同步Last_IO_Errno:1236錯(cuò)誤解決方法

    最近遇到Mysql主從同步的Last_IO_Errno:1236錯(cuò)誤問題,然后在網(wǎng)上查找相關(guān)解決方案,這里分享給大家,供參考。
    2017-10-10

最新評論