码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL事务基本概念


    事务是一种数据库基本操作

    他是为了防止一种很常见的错误而存在的

    简单叙述一个需求

    张三给李四转账
    首先 假设 张三 余额为 9000 李四余额为 5000
    张三转账一千 给 李四 那么程序会走三步操作

    1 查看张余额是否有一千
    2 扣除张三余额一千
    3 给李四余额加一千

    此时 张三余额 8000 李四余额 6000

    但这是正常情况

    那么 有一种最坏的情况 第一步 查询张三 余额 大于一千 第二步 张三余额扣除一千 第三步 给李四加余额时 程序抛出异常了

    结果就是 张三钱扣了 李四钱没加

    为了避免这种情况 就出现了事务程序

    当被事务绑定的多个程序 只要一个执行失败 则全部回滚到执行事务程序之前

    也就是 扣了张三的钱 如果添加李四余额的操作失败 则张三的钱也会回到扣除之前的数值

    简单说 被绑定了事务的 业务逻辑 要么全部成功 要么全部失败

  • 相关阅读:
    如何通过ADB命令的方式关闭华为系手机的emui系统更新升级?解决:error: no devices/emulators found
    Spring Cloud Gateway从数据库读取并更新Cors配置
    springboot框架拦截器中HttpServletRequest 请求如何区分是图片上传流还是普通的字符流?
    js两个数组对象进行合并去重
    最佳归并树
    触发点击事件,标签高亮显示
    idea集成本地tomcat
    react轮播图如何实现
    Java网页版即时通讯聊天系统(附源码)
    SpringCloud+Vue的分布式架构网上商城
  • 原文地址:https://blog.csdn.net/weixin_45966674/article/details/127643858
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号