ori*_*nal 9 postgresql locking
整个表UPDATE
(不指定WHERE
子句)是否锁定了 PostgreSQL 中的一个表?例如,它会阻止行被删除/插入吗?
例如,如果我运行,我
UPDATE t1 SET key = 'value'
可以期望t1
在UPDATE
执行过程中不会插入新行吗?
如果不是,我UPDATE
是否可以期望即使在开始后出现的行也会更新?(键DEFAULT 'value'
在其定义中没有)
a_h*_*ame 15
没有 WHERE 子句的 UPDATE 将锁定表中的所有行,但不会为 DML 锁定表本身。
无法从其他事务中删除这些行,因为它们已被锁定。
但是您可以毫无问题地插入新行(假设它们不违反任何约束)。
在 UPDATE之后插入的任何行都不会被 UPDATE 语句看到,因此它们不会被更改。
归档时间: |
|
查看次数: |
1320 次 |
最近记录: |