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;
  • 相关阅读:
    机器学习基石13-Hazard of Overfitting
    机器学习基石12-Nonlinear Transformation
    机器学习基石11-Linear Models for Classification
    Java基础14-缓冲区字节流;File类
    Java基础13-字符串缓冲流;字节流
    机器学习基石10-Logistic Regression
    机器学习基石9-Linear Regression
    POJ 2245 Lotto dfs
    POJ 1008 Maya Calendar 水模拟
    POJ 1007 DNA Sorting
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/9723160.html
Copyright © 2011-2022 走看看