首页 > 数据库 >MYSQL-事务

MYSQL-事务

时间:2025-01-23 22:53:16浏览次数:1  
标签:autocommit 事务 Read 要么 提交 MYSQL 数据

事务

事务:把所有操作视为一个整体,要么同时成功,要么同时失败

不设置@@autocommit时@@autocommit = 0,系统会认为默认自动提交,但中间遇到错误时,导致数据不一致
方式一:
set @@autocommit = 0为手动提交,在最后用"commit"来手动提交事务,想要回滚事务,用 "rollback"
方式二:
start transaction 显式开启事务

事务的四大特性

原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。
一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。
隔离性(lsolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行
持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的,会持久化存到磁盘中。

脏读:一个事务读到另外一个事务还没有提交的数据.
不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读,
幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了

事物的隔离级别

隔离级别 脏读 不可重复读 幻读
Read uncommitted
Read committed ×
Repeatable Read (默认) × ×
Serializable × × ×

标签:autocommit,事务,Read,要么,提交,MYSQL,数据
From: https://www.cnblogs.com/codefei/p/18688745

相关文章

  • MySQL训练营-慢查询诊断问题
    慢查询相关参数和建议配置slow_query_log+long_query_time日志开关,是否记慢查询日志以及超过多长时间判定为慢查询。查看参数设置:SHOWVARIABLESLIKE'slow_query_log';SHOWVARIABLESLIKE'long_query_time';实践建议:setgloballong_query_time=1;分析型业务,set......
  • Spring事务
     Spring事务基本执行原理一个Bean在执行Bean的创建生命周期时,会经过InfrastructureAdvisorAutoProxyCreator的初始化后的方法,会判断当前当前Bean对象是否和BeanFactoryTransactionAttributeSourceAdvisor匹配,匹配逻辑为判断该Bean的类上是否存在@Transaction......
  • MySQL字符串函数详解
    ASCII(str) 返回str字符串中最左边字符的ascii码值,如果是空串则返回0,如果str是null则返回null1234567•mysql>SELECTASCII('a');•->97•mysql>SELECTASCII('b');•->98•mysql>SELECTASCII('ab');•->97只返回第一个字符的ASCI......
  • MySQL字符串函数解读
    ASCII(str) 返回str字符串中最左边字符的ascii码值,如果是空串则返回0,如果str是null则返回null1234567•mysql>SELECTASCII('a');•->97•mysql>SELECTASCII('b');•->98•mysql>SELECTASCII('ab');•->97只返回第一个字符的ASCI......
  • MySQL字符串函数
    ASCII(str) 返回str字符串中最左边字符的ascii码值,如果是空串则返回0,如果str是null则返回null1234567•mysql>SELECTASCII('a');•->97•mysql>SELECTASCII('b');•->98•mysql>SELECTASCII('ab');•->97只返回第一个字符的ASCI......
  • 掌握Spring事务隔离级别,提升并发处理能力
    Spring框架支持的事务隔离级别与标准的JDBC隔离级别保持一致,共包括五大隔离级别,它们分别是:DEFAULT(默认隔离级别)、READ_UNCOMMITTED(读未提交)、READ_COMMITTED(读已提交)、REPEATABLE_READ(可重复读)和SERIALIZABLE(可串行化)。这些隔离级别在数据一致性和并发性能之间进行了权衡,以满足......
  • 认识事务
    使用TransactionTemplate进行事务管理:@AutowiredprivateTransactionTemplatetransactionTemplate;publicvoidtestTransaction(){transactionTemplate.execute(newTransactionCallbackWithoutResult(){@OverrideprotectedvoiddoI......
  • mysql中的排序
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、语法二、场景三、与其他语法结合groupbylimitoffset四、排序底层流程五、索引校验是索引排序还是临时表排序命中索引规则总结前言`mysql中排序底层逻辑一、语法select[column......
  • mysql中change buffer
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、changebuffer工作流程位置流程场景底层逻辑二、优缺点减少磁盘IO读取延迟多消耗内存三、启用场景四、配置innodb_change_buffer_max_sizeinnodb_change_buffering2.读入数据总结......
  • 如何系统优化MySQL【表结构优化、索引优化】(上篇)
    ......