postgres on heroku sql语句失败
问题描述:
我刚刚上传了我的node.js
应用程序到heroku上,我的一个sql查询失败了。查询是:postgres on heroku sql语句失败
INSERT INTO countries (name, user_id, created_timestamp)
SELECT $1, $2, CURRENT_TIMESTAMP
WHERE NOT EXISTS (SELECT 1 FROM countries WHERE name = $1 FOR UPDATE)
它与
失败error: SELECT FOR UPDATE/SHARE is not allowed in subqueries
有谁知道为什么吗?如果我无法选择更新,是否有可以使用的解决方法?
答
这可能会为你工作:
BEGIN;
LOCK TABLE countries IN SHARE MODE;
INSERT INTO countries (name, user_id, created_timestamp)
SELECT $1, $2, CURRENT_TIMESTAMP
WHERE NOT EXISTS (SELECT * FROM countries WHERE name = $1);
COMMIT;
什么是你想实现什么? – 2012-04-05 17:13:45
我试图插入到表中如果记录不存在,并且不存在主键违例,如果它存在 – dan 2012-04-05 22:09:23