热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql事物处理的四大特征和简单用法

*什么是事物,事物就是要么同时成功,要么同时失败例如:张三给了李四一百块钱,张三账户的钱会少一百,李四的钱会多一百其实可以看成两条sql语句,一句是张三账户减一百,另一句是李四账户

/*
什么是事物,事物就是要么同时成功,要么同时失败
例如:张三给了李四一百块钱,张三账户的钱会少一百,李四的钱会多一百
其实可以看成两条sql语句,一句是张三账户减一百 ,另一句是李四账户加一百
说不定有时候,第一句执行成功了,第二句没成功,然后就会出现金额不匹配的问题。
所以有了事物;
事物的四大特征:ACID //首字母
1:(A)原子性:原子(最小单位,不可分割的原子单位),要么成功,要么失败
2:(C)一致性:事物执行后,数据库状态和其他业务规则保持一致,
例如:张三和李四的账户,无论转账成功与否,两个账户中的总金额应该是不变的
3:(I)隔离性:是指并发操作中,不同事物之间应该隔离开来,使每个并发中的事物不会相互干扰
px;说的我自己也不是很能看懂,我也不怎么明白这句话的意思
4:(D)持久性:一旦提交事物,它对系统的影响是持久性的
例如:一旦提交,会从内存中写到数据库中,可以随时查到
*/
/*
步骤:1:关闭mysql的自动提交
2:开始事物语句
3:mysql语句
4:结束事物语句
*/

-- 首先需要关闭 自动提交

SHOW VARIABLES LIKE 'auto%'
SET autocommit=off;
-- transaction的意思是事物
-- 合起来是开始一个事物
START TRANSACTION;
-- 中间写sql语句(我写的是转账,一个人减钱3,一个人加钱)
UPDATE table3
SET mOney=money-100
WHERE NAME='starry';
-- 可以加回滚点,也可以不加
-- savepoint的意思是保存点的意思。
-- 加上之后可以在程序执行中有问题的时候,数据在这个位置以前的都会执行
SAVEPOINT a;
UPDATE table3
SET mOney=money+100
WHERE NAME='alex';
-- 提交事务(成功)
COMMIT;
-- 提交事物(失败)(我这里写的是失败后返回a保存点,也可以不写a)
ROLLBACK TO a;

starry.


推荐阅读
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
author-avatar
猪猪爱tai旸
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有