Tag: 事务隔离

非重复读取和幻像读取有什么区别?

非重复读取和幻像读取之间有什么区别? 我已阅读维基百科的隔离(数据库系统)文章 ,但我有一些疑问。 在下面的例子中,会发生什么: 不可重复读取和幻像读取 ? 交易A SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1 OUTPUT: 1—-MIKE——29019892———5000 交易B UPDATE USERS SET amount=amount+5000 where ID=1 AND accountno=29019892; COMMIT; 交易A SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1 另一个疑问是,在上面的例子中,应该使用哪个隔离级别? 为什么?

primefaces更新..在Postgres中select

我正在build立一个排队机制。 有一些需要处理的数据行和一个状态标志。 我正在使用update .. returning子句来pipe理它: UPDATE stuff SET computed = 'working' WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1) RETURNING * 嵌套的select部分是否与更新相同,还是在这里有竞争条件? 如果是这样,内部select是否需要select for update ?