<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MySQL事務處理與應用簡析

        來源:懂視網 責編:小采 時間:2020-11-09 21:03:02
        文檔

        MySQL事務處理與應用簡析

        MySQL事務處理與應用簡析:事務處理在各種管理系統中都有著廣泛的應用,比如人員管理系統,很多同步數據庫操作大都需要用到事務處理。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數據庫操作語句
        推薦度:
        導讀MySQL事務處理與應用簡析:事務處理在各種管理系統中都有著廣泛的應用,比如人員管理系統,很多同步數據庫操作大都需要用到事務處理。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數據庫操作語句

        事務處理在各種管理系統中都有著廣泛的應用,比如人員管理系統,很多同步數據庫操作大都需要用到事務處理。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數據庫操作語句就構成一個事務!
        刪除的SQL語句
        delete from userinfo where ~~~
        delete from mail where ~~
        delete from article where~~
        ~~
        如果沒有事務處理,在你刪除的過程中,假設出錯了,只執行了第一句,那么其后果是難以想象的!
        但用事務處理。如果刪除出錯,你只要rollback就可以取消刪除操作(其實是只要你沒有commit你就沒有確實的執行該刪除操作)
        一般來說,在商務級的應用中,都必須考慮事務處理的!
        查看inodb信息
        shell> /usr/local/mysql -u root -p
        mysql> show variables like "have_%"
        系統會提示:
        +------------------+-------+
        | Variable_name     | Value |
        +------------------+-------+
        | have_bdb   | YES    |
        | have_crypt | YES    |
        | have_innodb| YES    |
        | have_isam  | YES    |
        | have_raid  | YES    |
        | have_symlink      | YES    |
        | have_openssl      | NO     |
        | have_query_cache | YES    |
        +------------------+-------+
        8 rows in set (0.05 sec)
        如果是這樣的,那么我們就可以創建一張支持事務處理的表來試試了。
        MYSQL的事務處理功能!
        一直以來我都以為MYSQL不支持事務處理,所以在處理多個數據表的數據時,一直都很麻煩(我是不得不將其寫入文本文件,在系統重新加載得時候才寫入數據庫以防出錯)~今天發現MYSQL數據庫從4.1就開始支持事務功能,據說5.0將引入存儲過程^_^
        先簡單介紹一下事務吧!事務是DBMS得執行單位。它由有限得數據庫操作序列組成得。但不是任意得數據庫操作序列都能成為事務。一般來說,事務是必須滿足4個條件(ACID)
        原子性(Autmic):事務在執行性,要做到“要么不做,要么全做!”,就是說不允許事務部分得執行。即使因為故障而使事務不能完成,在rollback時也要消除對數據庫得影響!
        一致性(Consistency):事務得操作應該使使數據庫從一個一致狀態轉變倒另一個一致得狀態!就拿網上購物來說吧,你只有即讓商品出庫,又讓商品進入顧客得購物籃才能構成事務!
        隔離性(Isolation):如果多個事務并發執行,應象各個事務獨立執行一樣!
        持久性(Durability):一個成功執行得事務對數據庫得作用是持久得,即使數據庫應故障出錯,也應該能夠恢復!
        MYSQL的事務處理主要有兩種方法。
        1、用begin,rollback,commit來實現
        begin 開始一個事務
        rollback 事務回滾
        commit  事務確認
        2、直接用set來改變mysql的自動提交模式
        MYSQL默認是自動提交的,也就是你提交一個QUERY,它就直接執行!我們可以通過
        set autocommit=0   禁止自動提交
        set autocommit=1 開啟自動提交
        來實現事務的處理。
        但注意當你用 set autocommit=0 的時候,你以后所有的SQL都將做為事務處理,直到你用commit確認或rollback結束,注意當你結束這個事務的同時也開啟了個新的事務!按第一種方法只將當前的作為一個事務!
        個人推薦使用第一種方法!
        MYSQL中只有INNODB和BDB類型的數據表才能支持事務處理!其他的類型是不支持的!(切記!)
        MYSQL5.0 WINXP下測試通過~ 
        mysql> use test;
        Database changed
        mysql> CREATE TABLE `dbtest`(
        -> id int(4)
        -> ) TYPE=INNODB;
        Query OK, 0 rows affected, 1 warning (0.05 sec)
        mysql> select * from dbtest
        -> ;
        Empty set (0.01 sec)
        mysql> begin;
        Query OK, 0 rows affected (0.00 sec)
        mysql> insert into dbtest value(5);
        Query OK, 1 row affected (0.00 sec)
        mysql> insert into dbtest value(6);
        Query OK, 1 row affected (0.00 sec)
        mysql> commit;
        Query OK, 0 rows affected (0.00 sec)
        mysql> select * from dbtest;
        +------+
        | id    |
        +------+
        |     5 |
        |     6 |
        +------+
        2 rows in set (0.00 sec)
        mysql> begin;
        Query OK, 0 rows affected (0.00 sec)
        mysql> insert into dbtest values(7);
        Query OK, 1 row affected (0.00 sec)
        mysql> rollback;
        Query OK, 0 rows affected (0.00 sec)
        mysql> select * from dbtest;

        +------+
        | id    |
        +------+
        |     5 |
        |     6 |
        +------+
        2 rows in set (0.00 sec)
        mysql>
        *******************************************************************************************************************
        代碼如下:
        function Tran( $sql ) {
        $judge = 1;
        mysql_query('begin');
        foreach ($sql as $v) {
        if ( !mysql_query($v) ) {
        $judge = 0;
        }
        }
        if ($judge == 0) {
        mysql_query('rollback');
        return false;
        }
        elseif ($judge == 1) {
        mysql_query('commit');
        return true;
        }
        }

        ************************************************
        代碼如下:
        <?php
        $handler=mysql_connect("localhost","root","");
        mysql_select_db("task");
        mysql_query("SET AUTOCOMMIT=0");//設置為不自動提交,因為MYSQL默認立即執行
        mysql_query("BEGIN");//開始事務定義
        if(!mysql_query("insert into trans (id) values('2')"))
        {
        mysql_query("ROOLBACK");//判斷當執行失敗時回滾
        }
        if(!mysql_query("insert into trans (id) values('4')"))
        {
        mysql_query("ROOLBACK");//判斷執行失敗回滾
        }
        mysql_query("COMMIT");//執行事務
        mysql_close($handler);
        ?>

        您可能感興趣的文章:

      1. mysql 鎖表鎖行語句分享(MySQL事務處理)
      2. 解析php mysql 事務處理回滾操作(附實例)
      3. 為mysql數據庫添加添加事務處理的方法
      4. php實現mysql事務處理的方法
      5. mysql 事務處理及表鎖定深入簡析
      6. php下pdo的mysql事務處理用法實例
      7. PHP+Mysql基于事務處理實現轉賬功能的方法
      8. Mysql事務處理詳解
      9. 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        MySQL事務處理與應用簡析

        MySQL事務處理與應用簡析:事務處理在各種管理系統中都有著廣泛的應用,比如人員管理系統,很多同步數據庫操作大都需要用到事務處理。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數據庫操作語句
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: a毛片在线免费观看| 黄页网站在线视频免费| 一级毛片免费观看| 亚洲春色在线视频| 国产成人精品无码免费看| 亚洲国产精品久久久天堂| 岛国岛国免费V片在线观看 | 免费无遮挡无码永久视频| 久久青草亚洲AV无码麻豆| 8888四色奇米在线观看免费看| 亚洲精品综合一二三区在线| 免费观看无遮挡www的小视频| 久久精品国产亚洲av麻豆图片| 毛片免费观看网站| 日韩色视频一区二区三区亚洲 | 亚洲夂夂婷婷色拍WW47| 在线视频免费国产成人| 成年免费a级毛片| 久久国产亚洲观看| 最近免费中文字幕视频高清在线看| 亚洲精品无码专区| 亚洲欧洲国产成人综合在线观看| 人妻免费一区二区三区最新| 亚洲经典在线观看| 国产免费黄色大片| 黄页免费在线观看| 国产精品高清视亚洲精品| 波多野结衣一区二区免费视频| 羞羞视频免费网站在线看| 久久精品国产亚洲AV无码麻豆| 成年女人看片免费视频播放器| 免费一级做a爰片久久毛片潮| 亚洲免费视频在线观看| 国产成人精品男人免费| 国产啪精品视频网站免费尤物| 亚洲人成在线播放| 在线精品亚洲一区二区三区| 麻豆国产精品免费视频| 伊人久久国产免费观看视频| 亚洲日本国产精华液| 亚洲精品A在线观看|