zoukankan      html  css  js  c++  java
  • mysql事务的理解

    默认情况下,MySQL采用autocommit模式运行。这意味着,当执行更新表的语句之后,MySQL立刻把更新存储到磁盘中。

     
    事务安全型的存储引擎(如InnoDB, BDB或NDB簇),
    使用以下语句禁用autocommit模式:
    SET AUTOCOMMIT=0;
     
     
    使用START TRANSACTION,autocommit仍然被禁用,直到COMMITROLLBACK结束事务为止。然后autocommit模式恢复到原来的状态。
     
     
     
    mysql> select from test_main //
    +----+-------+
    | id | value |
    +----+-------+
    |  1 | ONE   |
    |  2 | TWO   |
    |  3 | THREE |
    +----+-------+
    rows in set (0.00 sec)
     
    mysql> START TRANSACTION;
        -> //
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> INSERT INTO test_main VALUES(4, 'FOUR') //
    Query OK, 1 row affected (0.00 sec)
     
    mysql> INSERT INTO test_main VALUES(4, 'FOUR') //
    ERROR 1062 (23000): Duplicate entry '4' for key 'PRIMARY'
     
    mysql> ROLLBACK//
    Query OK, 0 rows affected (0.01 sec)
     
    mysql> select from test_main //
    +----+-------+
    | id | value |
    +----+-------+
    |  1 | ONE   |
    |  2 | TWO   |
    |  3 | THREE |
    +----+-------+
    rows in set (0.00 sec)
  • 相关阅读:
    STUN协议简介
    AssetManager asset使用
    采购申请 POCIRM-001:ORA-01403: 无论数据未找到
    Windows7在自由的虚拟机(微软官方虚拟机)
    C面试题
    热血江湖按键精灵脚本游戏!
    System.setProperty()
    Linux下patch打补丁命令
    Eclipse和PyDev搭建python开发环境
    二维数组中的查找
  • 原文地址:https://www.cnblogs.com/aprils/p/4566241.html
Copyright © 2011-2022 走看看