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

MySQL:事务

时间:2017-05-23 11:20:00      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:失败   lock   过程   begin   span   存储引擎   har   isa   修改   

事务: 将业务处理的过程当做一个最小的业务处理单元来处理

  比如:  朋友转账

  事务有四大特性:

    原子性:具有功能的最小单元,是密不可分;

    永久性:事务处理的正确数据,是永久存储在数据库中,不能返回;

    隔离性:一个事务在处理时,另外的事物要等待;

    一致性:使用事务修改数据时,数据修改前和数据修改后,数据应该是平衡的;

  事务什么存储引擎中使用:

    默认存储引擎Myisam:  不支持事务

    Innodb:支持事务,

事务创建

  开启事务:BEGIN/START TRANSACTION;

  建立锁机制

  提交事务:commit;  事务成功

  数据回滚:rollback  事务失败

事务锁机制

  共享锁:(带有外部锁的玻璃大门) - 读锁

    共享锁上可以创建共享锁,但是不能创建独占锁,创建共享锁的事务,所有的事务都可以读取数据,但是都不能操作数据

    select 语句 lock in share mode.

    select * from student [where sid=1] lock in share mode;

    根据锁住的内容划分

      行锁: 建立的某个锁只对某条数据有效  innodb  行锁;

      页锁: 建立锁对某些同一页中的数据有效;

      表锁: 建立锁是锁表的;- 锁表(mysql5之前,5之后出现了事务)

        lock tables 表名 write/read;

          具体的操作语句

        unlock tables;

  独占锁:(带有暗锁的黑皮大门) - 写锁

    独占锁上不能创建任何的锁,创建独占锁的事务,可以添加,删除,修改,查询数据等,但是其他事务只能读取数据,并且读取到的数据是老数据。

    select 语句 for update

 

MySQL:事务

标签:失败   lock   过程   begin   span   存储引擎   har   isa   修改   

原文地址:http://www.cnblogs.com/shuo-128/p/6892836.html

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