SQL的解释:BEGIN,COMMIT流程?

时间:2013-06-19 11:50:40

标签: sql postgresql transactions

我试着理解SQL命令是如何工作的:

BEGIN;
UPDATE post SET hits = hits + 1;
-- run from another session:  DELETE FROM post WHERE hits = 10;
COMMIT;

让我们说,我们有一个hits = 9和10的行。 然后我们运行该查询,然后呢?我们的行会是什么(和为什么)?

1 个答案:

答案 0 :(得分:1)

这取决于每个会话中的事务隔离级别,但默认情况下为 只有在执行COMMIT后,UPDATE所做的所有更改才会对其他会话可见。
所以你的DELETE会话就像没有UPDATE一样。