Mysql中的事务

Mysql中的事务

提到事务我就想到食物,真羡慕你们不愁吃喝,呵呵

谈及数据库中的事务,一般要从这三个方面说起

1)开启事务

命令:start transaction【推荐】 或者begin

2)提交事务

命令:commit

数据库默认是自动提交即autocommit=true

你不信?可以使用show variables like 'auto%'; 查看一下啦

set autocommit = 0;关闭自动提交,运行sql语句后,需要commit才会影响数据库

set autocommit = 1;开启自动提交,运行完后,直接影响数据库

没事别总改全局变量autocommit哈,会影响别的用户工作滴。尝试着习惯start transaction吧

start transaction;
update book set price = price+8 where id='abc1';
commit;
--rollback;

 

3)回滚事务

 命令:Rollback

 这个很好理解,运行sql出错了(语法错误,逻辑错误,不想运行了),怎么办?

Rooback一行命令帮你搞定,前提是你要开启事务 \(^o^)/

其它

1)支持事务的数据库引擎有InnoDB(支持并发,行级锁定)等等

2)SQL执行分两步

①执行阶段②将执行结果提交到数据库中

3)事务ACID属性分别是

原子性,一致性,隔离性,持久性(就知道你记不住的)

4)在事务中,执行sql语句会暂时存放在事务日志中,若执行结果成功则。。。

猜你喜欢

转载自shuizhongyue.iteye.com/blog/2289989