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

    我们在操作mysql的时候。默认执行一条语句是mysql自动帮我们前面加上开始事务,更新数据,提交事务的。

    一定要是支持事务的存储引擎 如InnoDB 

    看你的mysql现在已提供什么存储引擎:
    mysql> show engines;
    
    看你的mysql当前默认的存储引擎:
    mysql> show variables like '%storage_engine%';
    
    你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
    mysql> show create table 表名;
    
    如何查看Mysql服务器上的版本
    select version();

    show engines;

    我们可以用这个命令查看一下:

    mysql> show variables like 'autocommit';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | autocommit    | ON    |
    +---------------+-------+
    1 row in set (0.04 sec)

    从查询结果中,我们发现Value的值是ON,表示autocommit开启。我们可以通过以下SQL语句改变这个模式

    mysql> set autocommit = 0;

    值0和OFF都是一样的,当然,1也就表示ON。通过以上设置autocommit=0,则用户将一直处于某个事务中,直到执行一条commit提交或rollback语句才会结束当前事务重新开始一个新的事务。

    我们想执行两条语句需要在一个事务中。我们可以这样执行。(autocommit 不用设置为0也可以。)

    BEGIN;
      Insert into emp select * from emp2 where empno=1;
      UPDATE emp set salary=500 where empno=1;
    COMMIT;
  • 相关阅读:
    2407: C语言习题 整数转换成字符串
    2484: 字母图形
    1658: Easier Done Than Said?
    Easier Done Than Said?(应用到的知识)
    1653: Champion of the Swordsmanship
    1614: 五位以内的对称素数
    1612: 最小公倍数
    $ vs $()
    数学
    计算机科学与技术课程
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/9723160.html
Copyright © 2011-2022 走看看