首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是数据库事务?

什么是数据库事务?
EN

Stack Overflow用户
提问于 2009-06-10 09:40:08
回答 8查看 120.3K关注 0票数 157

有人能为应用于计算的事务(即使是从维基百科复制的事务)提供一个简单的(但不是更简单的)解释吗?

EN

回答 8

Stack Overflow用户

发布于 2009-06-10 09:45:40

这里有一个简单的解释。您需要将100美元从帐户A转到帐户B。您可以这样做:

代码语言:javascript
复制
accountA -= 100;
accountB += 100;

代码语言:javascript
复制
accountB += 100;
accountA -= 100;

如果在第一次和第二次操作之间出现问题,那么你就有问题了--要么是100美元消失了,要么是它们不知从哪里冒出来的。

事务是一种机制,它允许您标记一组操作并以这样的方式执行它们:要么它们全部执行(提交),要么系统状态就好像它们根本没有开始执行(回滚)。

代码语言:javascript
复制
beginTransaction;
accountB += 100;
accountA -= 100;
commitTransaction;

要么转账100美元,要么让两个账户都保持初始状态。

票数 63
EN

Stack Overflow用户

发布于 2009-06-10 09:43:33

一系列必须完全完成或完全失败的数据操作语句,使数据库保持一致状态

票数 38
EN

Stack Overflow用户

发布于 2009-06-10 09:47:25

我认为“事务处理”的定义更有用,因为它涵盖了计算机科学中的一个概念--事务。

来自维基百科:

在计算机科学中,事务处理是信息处理,它被划分为单独的、不可分的操作,称为事务。每个事务必须作为一个完整的单元成功或失败;它不能保持在中间状态。

http://en.wikipedia.org/wiki/Transaction_processing#Implementations

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/974596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档