我需要根据 PostgreSQL 8.4 中子查询的结果自动更新一行。在 PostgreSQL 9.2 中,这运行良好:
UPDATE item SET status = 1 WHERE id IN
(SELECT id FROM item WHERE status = 3 LIMIT(1) FOR UPDATE) RETURNING ID;
但在 PostgreSQL 8.4 上,我收到以下错误消息:
ERROR: SELECT FOR UPDATE/SHARE is not allowed in subqueries
什么是 8.4 的好替代品?