程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql的事務運作

mysql的事務運作

編輯:關於MYSQL數據庫

       mysql的事務運作

      早就想寫了,一直忘了,其實很簡單

      就三條命令

      start transaction

      commit

      rollback

      現在來解釋下:

      start transaction;

      就是開始事務追蹤的命令

      開始前一定記得寫

      然後

      commit;

      這個的意思是說確認提交,執行這個命令就不能rollback了,相當於執行完畢。

      最後

      rollback;

      這個命令很簡單,回滾到start transaction時候的狀態

      現在舉例

      mysql> select * from useraccount ;

      +-----------+--------+-------------+

      | AccountID | userID | AccountName |

      +-----------+--------+-------------+

      | 1 | 2 | zhifubao |

      +-----------+--------+-------------+

      1 row in set (0.00 sec)

      mysql> start transaction;

      Query OK, 0 rows affected (0.00 sec)

      mysql> update useraccount set userID = 1;

      Query OK, 1 row affected (0.00 sec)

      Rows matched: 1 Changed: 1 Warnings: 0

      mysql> select * from useraccount;

      +-----------+--------+-------------+

      | AccountID | userID | AccountName |

      +-----------+--------+-------------+

      | 1 | 1 | zhifubao |

      +-----------+--------+-------------+

      1 row in set (0.00 sec)

      mysql> rollback; (這裡假如不想回滾就用commit;就可以完成了)

      Query OK, 0 rows affected (0.28 sec)

      mysql> select * from useraccount;

      +-----------+--------+-------------+

      | AccountID | userID | AccountName |

      +-----------+--------+-------------+

      | 1 | 2 | zhifubao |

      +-----------+--------+-------------+

      1 row in set (0.00 sec)

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved