Kar*_*eem 5 mysql atomic
我做了一些搜索,但无法找到明确的答案。从插入、更新或抛出错误的意义上来说,它是原子的吗?如果是,这与使用 TRANSACTION 有什么不同吗?或者,如果我从自己的应用程序访问数据库,则使用某种条件以及某种查询函数/方法?
And*_*rzo 2
MySQL 文档
根据定义,原子性要求每个事务都是全有或全无。所以,是的,它是原子的,因为如果您尝试插入的数据将导致主键或唯一索引中出现重复,则该语句将执行更新而不是出错。我认为正确的术语是upsert(更新/插入)。
upsert
但就我个人而言,我认为它更适合一致性(ACID 原则中的 C),因为这可以确保数据库处于有效状态(没有违反主键或唯一约束)。
就transactions我们而言,是的,这是不同的。没有回滚,将完成插入或更新。
transactions
归档时间:
11 年,9 月 前
查看次数:
1478 次
最近记录: