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)
  • 相关阅读:
    css文字两端对齐,而且居中
    vue项目做微信分享总结
    js获取url参数
    vue微信支付遇到的坑
    Win7的环境变量下的系统变量path不小心修改了,怎么恢复
    解决ios上滑动不流畅及滚动条隐藏无效问题
    数组更新检测
    列表渲染
    条件渲染
    vue调试工具的安装
  • 原文地址:https://www.cnblogs.com/aprils/p/4566241.html
Copyright © 2011-2022 走看看