事务

打印 上一主题 下一主题

主题 756|帖子 756|积分 2268

事务


  • 事务的简介
事务是一组操作的合集,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体,一起向系统提交或撤销操作请求,这些操作只有同时成功、同时失败;
事务的操作


  • 查看、设置事务提交方式
    1. -- 查看事务的提交方式(若为“1”则是自动提交,若为“0”则是手动提交)
    2. select @@autocommit;
    3. -- 设置事务为手动提交
    4. set @@autocommit = 0;
    复制代码
  • 提交事务
    1. commit;
    复制代码
  • 回滚事务
    1. rollback;
    复制代码
  • 开启事务
    1. start transaction;
    复制代码
    1. begin;
    复制代码
事务的四大特性(ACID)


  • 原子性(Atomicity)

    事务是不可分割的最小操作单元,要么全部成功要么全部失败;
  • 一致性(Consistency)

    事务完成时,必须使所有的数据都保持一致的状态;
  • 隔离性(Isolation)

    数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行;
  • 持久性(Durability)

    事务一旦提交或回滚,它对数据库中的数据大的改变就是永久的;
并发事务问题

问题描述脏读一个事务读到另一个事务还没有提交的数据;不可重复读一个事务先后读取同一条记录,但两次读取的数据不同;幻读一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在;事务的隔离级别

隔离级别脏读不可重复读幻读Read uncommittedYYYRead committedNYYRepeatable ReadNNYSerializableNNN(注意:Repeatable Read 为MySQL的默认隔离级别;)

  • 查看事务隔离级别
    1. select @@transaction_isolation;
    复制代码
  • 设置事务隔离级别
    1. set session\global transaction isolation level 隔离级别;
    复制代码
    (注意:session为针对当前客户端窗口有效;global为针对所有客户端的窗口有效;)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表