码迷,mamicode.com
首页 > 数据库 > 详细

mysql中的事务

时间:2018-09-29 14:42:01      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:int   date   sql语句   如何   mys   on()   提交   begin   name   

我们在操作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;

 

mysql中的事务

标签:int   date   sql语句   如何   mys   on()   提交   begin   name   

原文地址:https://www.cnblogs.com/coder-lzh/p/9723160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!