MySQL的事务使用

文章目录

特点

事务的基本属性ACID:

数据库事务的ACID特性是指保证数据库在执行事务操作时能够可靠和正确的四个基本属性。ACID是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)的首字母缩写。以下是每个特性的详细解释:

原子性(Atomicity):

原子性意味着一个事务要么完全执行,要么完全不执行。在事务执行过程中,如果发生了错误或故障,已经执行的部分操作会被回滚(撤销),整个事务的操作就像从未发生过一样。
例如,在银行转账中,转账的两步(从一个账户扣款和向另一个账户存款)要么都成功,要么都不执行。不能出现只扣款但未存款的情况。
一致性(Consistency):

一致性确保事务在执行前后,数据库始终处于一致的状态。在事务开始和结束时,数据库都必须满足所有的业务规则和约束。
例如,在银行转账中,账户总金额在事务前后应保持不变。如果从一个账户扣除了金额,那么相应的金额应该加到另一个账户中,整个系统的金额总和保持一致。
隔离性(Isolation):

隔离性确保多个并发事务的执行不相互干扰。每个事务在执行过程中应该独立于其他事务的操作。事务之间的隔离级别可以通过不同的锁机制或多版本并发控制来实现。
例如,在两个并发的银行转账事务中,一个事务在执行过程中,另一个事务不应该看到其未提交的中间状态。
持久性(Durability):

持久性保证事务一旦提交,其结果会永久保存在数据库中,即使系统发生故障(如断电或崩溃),提交的事务结果也不会丢失。
例如,在银行转账中,一旦转账事务成功提交,即使系统随后发生故障,转账的结果也不会丢失,账户余额的更新会被持久保存。
这些特性共同保证了数据库在事务处理中的可靠性和一致性,确保数据的完整性和准确性。

JDBC使用事务

设计多次操作数据库的时候,下面sql是错误的。两个语句其实是需要同时执行成功或者失败的,但是现在的程序并没有按照我的要求。

在这里插入图片描述

在这里插入图片描述

通过事务 保证了一致性
在这里插入图片描述

相关推荐

  1. MySQL事务

    2024-07-12 12:16:05       57 阅读
  2. Mysql - 事务概念

    2024-07-12 12:16:05       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 12:16:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 12:16:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 12:16:05       58 阅读
  4. Python语言-面向对象

    2024-07-12 12:16:05       69 阅读

热门阅读

  1. 【C语言】《回调函数》详细解析

    2024-07-12 12:16:05       24 阅读
  2. I18N/L10N 历史 / I18N 指南 / libi18n 模块说明

    2024-07-12 12:16:05       18 阅读
  3. ActiViz中的点放置器vtkPointPlacer

    2024-07-12 12:16:05       20 阅读
  4. MySQL远程登录

    2024-07-12 12:16:05       19 阅读
  5. PostgreSQL 基于时间点恢复

    2024-07-12 12:16:05       19 阅读
  6. 如何理解李彦宏说的“不要卷模型,要卷应用”

    2024-07-12 12:16:05       26 阅读
  7. 解决Spring Boot应用中的内存优化问题

    2024-07-12 12:16:05       18 阅读