1. 程式人生 > >MYSQL學習筆記(二十二)管理事務處理

MYSQL學習筆記(二十二)管理事務處理

  1. 事務處理
    事務處理可以用來維護資料庫的完整性,它保證成批的MYSQL操作要麼完全執行,要麼完全不執行
  2. 事務處理幾個術語
    事務:指一組SQL語句
    回退:指撤銷指定SQL語句的過程
    提交:指將未儲存的SQL語句結果寫入資料庫表
    保留點:指事務處理中設定的臨時佔位符,可以對它釋出回退
  3. 事務開始
    START TRANSACTION
  4. 使用ROLLBACK
    此命令用來回退(撤銷)MYSQL語句
    SELECT * FROM ordertotals
    START TRANSACTION;
    DELETE FROM ordertotals;
    SELECT * FROM ordertotals;
    ROLLBACK;
    SELECT * FROM ordertotals;
    先用SELECT顯示ordertotals表不為空;然後開始事務處理DELETE語句刪除ordertotals所有行;再次SELECT驗證確實已空;用ROLLBACK回退START TRANSACTION;、之後所用語句;再次SELECT顯示不為空。
    事務處理用來管理INSERT、UPDATE、DELETE語句。
  5. 使用COMMIT
    在事務處理塊中,提交不會隱含的進行
    START TRANSACTION;
    DELETE FROM orderitems WHERE order_num=20010;
    DELETE FROM orders WHERE order_num=20010;
    COMMIT;
    從系統中完全刪除訂單20010。為防止部分刪除,只有兩條DELETE都正確,COMMIT才可正確提交。
  6. 使用保留點
    建立保留點(佔位符)
    SAVEPOINT delete;
    為回退到保留點,可如下進行:
    ROLLBACK TO delete;
  7. 更改預設的提交行為
    預設的MYSQL行為都是自動提交所有更改。
    為指示MYSQL不自動提交更改,可使用以下語句:
    SET autocommit=0;