我正在尝试编写一个事务来更新两个不同表上的两行
BEGIN;
UPDATE comments SET upvoted = upvoted + 1
WHERE comment_id = $1 AND posted_by = $2;
INSERT INTO commentsvoted(id, user_id, votes, thread_id)
VALUES($1, $2, true, $3);
COMMIT;
此查询在pgadmin中有效,但在lambda中不起作用,并返回错误
cannot insert multiple commands into a prepared statement
我如何将这两次写入合并到一条语句中?为什么它不能在pgadmin之外工作呢?
发布于 2019-06-03 06:31:56
在Postgres中,您可以将其编写为单个语句:
WITH u as (
UPDATE comments
SET upvoted = upvoted + 1
WHERE comment_id = $1 AND posted_by = $2
)
INSERT INTO commentsvoted (id, user_id, votes, thread_id)
VALUES($1, $2, true, $3);
https://stackoverflow.com/questions/56419305
复制相似问题