热门标签 | 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.


推荐阅读
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • MySQL DateTime 类型数据处理及.0 尾数去除方法
    本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 解析SQL查询结果的排序问题及其解决方案
    本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 深入理解T-SQL中的NULL与三值逻辑
    本文探讨了SQL Server中的三值逻辑,解释了谓词计算结果为TRUE、FALSE和UNKNOWN的规则。通过具体示例,详细说明了如何正确处理NULL值,并探讨了在不同约束条件下的行为。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文介绍了 Winter-1-C A + B II 问题的详细解题思路和测试数据。该问题要求计算两个大整数的和,并输出结果。我们将深入探讨如何处理大整数运算,确保在给定的时间和内存限制下正确求解。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 开发笔记:9.八大排序
    开发笔记:9.八大排序 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
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社区 版权所有