萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 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)

copyright © 萬盛學電腦網 all rights reserved