database - 什么是数据库事务?

标签 database concurrency transactions theory failover

有人可以对应用于计算的交易提供直接(但不是尽可能简单)的解释(即使是从维基百科复制而来)吗?

最佳答案

事务是您希望将其视为“整体”的工作单元。它要么完全发生,要么根本不发生。

一个典型的例子是将钱从一个银行账户转移到另一个银行账户。为此,您必须先从源账户中提取金额,然后将其存入目标账​​户。该操作必须完全成功。如果中途停下来,钱就白花了,那就很糟糕了。

在现代数据库中,事务还做一些其他的事情——比如确保你不能访问另一个人半写的数据。但基本思想是相同的 - 事务用于确保无论发生什么情况,您使用的数据都将处于合理状态。他们保证不会出现资金从一个帐户中提取但未存入另一个帐户的情况。

关于database - 什么是数据库事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/974596/

相关文章:

php - 调用外部 API 的 SQL 事务

spring - 如何在 Spring Programmatic 事务中获取 transactionManager 引用

sql - 交易重复错误

php - MySql 中的快速随机行

python - 如何使 Python 对象持久存在于 Web 应用程序中?

c# - SQLite 数据库 (.db) 的性能问题

java - 在我的情况下是 Lock+HasMap 还是 ConcurrentHashMap?

java - JPA 两个事务更新相同的行

database - 这是正常化的哪个阶段? (将重复数据移动到单独的表中)

sql - 如何使用 sqlite 中的 View 在特定行中添加列?