1
9
不,单个update语句是原子的,它们的各个部分没有顺序。
做 确切地 同样的事情,因为这两个任务被认为是同时发生的。
换句话说,
附录: 怎么 DBMS实现这种行为取决于编写DBMS的人员的聪明程度。
例如DBMS
可以
尝试锁定其中的所有行
像这样的陈述
然后它将解锁所有行。 这只是一个选择。一个非常愚蠢的DBMS可能只会锁定整个数据库文件,尽管这不利于非常智能的并发。
|
2
3
SQL不按字段的顺序计算值。就SQL而言,这些语句是相同的。 更新发生在一个步骤中(原子的),而不是几个有序的步骤。
如果它有助于您理解,您可以将其视为update触发器中发生的事情,update触发器可以访问
|
3
2
@Ismail答案的变体:从逻辑上讲,更新是一起提交的删除和插入,这就是为什么在每个逻辑表中都有一行
一个有用的助手是
|
4
0
现在我明白了,有两个逻辑表,即
所以值被设置为
|
Community wiki · SQL语法新手 1 年前 |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |