5
想我做的只有一列CITY
下面的一組表中的SQL查詢(僞)的:在一次交易中做出的更改是否「彼此看」?
BEGIN TRANSACTION;
INSERT INTO MyTable VALUES('COOLCITY');
SELECT * FROM MyTable WHERE ALL;
COMMIT TRANSACTION;
是保證返回COOLCITY
的SELECT
?
想我做的只有一列CITY
下面的一組表中的SQL查詢(僞)的:在一次交易中做出的更改是否「彼此看」?
BEGIN TRANSACTION;
INSERT INTO MyTable VALUES('COOLCITY');
SELECT * FROM MyTable WHERE ALL;
COMMIT TRANSACTION;
是保證返回COOLCITY
的SELECT
?
是的。
INSERT
操作將至少在新添加的行上鎖定X
。這將不會在事務結束之前釋放,從而防止併發事務刪除或更新此行。
交易不會被自己的鎖鎖住,因此SELECT
會返回COOLCITY。