2016-05-31 69 views
0

假设我在RDBMS数据库中创建一个表并在其中创建一个整数字段。现在,我有两个客户端同时更改相同记录的整数字段值,例如,客户端C1将其设置为1,同时客户端C2将其设置为2以获得同一记录R1。数据库事务完整性和原子性

  1. 该字段设置了什么值?这是如何影响每个C1和C2在交易中设置此值的?
  2. 如果C1和C2都在一个事务中设置了值,那么它们的提交是否成功?

(做回答问题1和问题2取决于RDBMS还是有关于系统将如何表现约定?)

回答

0

交易可以成功或失败的提交。在写入同一字段的两个并行事务的情况下,只有一个会在您的案例中成功。

但是,根据RDBMS,事务可以说“随着1增加”而不是“设置为1”,并且在这种情况下不存在冲突并且两个事务都可以继续。

+0

只有一个成功依赖于每个RDBMS?或者所有的RDBMS随机失败? –

+0

阅读正在考虑的RDBMS的文档。 – PureW