事务

mysql 文章 2022-07-20 15:20 793 0 全屏看文

AI助手支持GPT4.0

事务


  • 事务的简介

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

事务的操作


  • 查看、设置事务提交方式

    -- 查看事务的提交方式(若为“1”则是自动提交,若为“0”则是手动提交)
    select @@autocommit; 
    -- 设置事务为手动提交
    set @@autocommit = 0; 
    
  • 提交事务

    commit;
    
  • 回滚事务

    rollback;
    
  • 开启事务

    start transaction;
    
    begin;
    

事务的四大特性(ACID)


  • 原子性(Atomicity)

    事务是不可分割的最小操作单元,要么全部成功要么全部失败;

  • 一致性(Consistency)

    事务完成时,必须使所有的数据都保持一致的状态;

  • 隔离性(Isolation)

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

  • 持久性(Durability)

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

并发事务问题


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

事务的隔离级别


隔离级别 脏读 不可重复读 幻读
Read uncommitted Y Y Y
Read committed N Y Y
Repeatable Read N N Y
Serializable N N N

(注意:Repeatable Read 为MySQL的默认隔离级别;)

  • 查看事务隔离级别

    select @@transaction_isolation;
    
  • 设置事务隔离级别

    set sessionglobal transaction isolation level 隔离级别;
    

    (注意:session为针对当前客户端窗口有效;global为针对所有客户端的窗口有效;)

-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
MySQL完整版详解
数据库_多表查询_内连接&外连接
The MySQL server is running with the --read-only option so it cannot execute this statement
适用于顺序磁盘访问的1分钟法则
SQL函数-聚合函数
随便看看
僵尸公众号占用小程序名称怎么办? 757
怎么调试小程序码,总不能每次都发布在看效果吧? 533
点击 小程序胶囊的 重新进入小程序 会重新请求资源吗? 619
微信小程序发送公众号模板消息 小程序和公众号需要绑定同一个开放平台吗?必须是同一主体是什么意思 749
统一下单接口报错 appid和opendid不匹配 908
getUserProfile 判断是否已经授权过 ? 605
一个普通 <image> 组件,遍历数据,部分图片展示旋转90度,怎么解决? 567
气到吐血,图片上传API一直报错SIGN_ERROR:错误的签名,验签失败 908
wx.openDocument支持打开epub、mobi格式的文件吗? 731
在加拿大是否可以绑定本地卡,在小程序上做支付? 563