【发布时间】:2018-05-13 08:50:36
【问题描述】:
`do $$declare temp_id integer;
begin;
insert INTO public.logindetails(email, pass, dept, designation, status) VALUES($1, $2, $3, $4, $5);
select login_id into temp_id from public.logindetails where email = $1;
INSERT INTO public.studentdetails(login_id, curr_year, enroll_no,full_name) VALUES (temp_id, $6, $7, $8);
end $$;`
这是我试图在我的 express 应用程序中执行的 sql 语句。 这是我的服务器端发布端点。 下面是我的客户端js:
我得到的错误是: 我试过在 postgreSQL 的 gui 中做它,它工作正常: 任何人都可以找出解决方法或我出错的部分以及解决方案。
【问题讨论】:
-
hash的实现是什么?密码散列看起来很可疑。无论如何,它是DO。无法参数化这些。使用INSERT … RETURNING避免SELECT。 -
@Ry- 为什么这个散列看起来很可疑? 2)谢谢我找到了解决方案:
WITH getID AS ( INSERT INTO public.logindetails(email, pass, dept, designation, status) VALUES($1, $2, $3, $4, $5) RETURNING login_id ) INSERT INTO public.studentdetails(login_id, curr_year, enroll_no, full_name) SELECT login_id, $6, $7, $8 FROM getID;如果您有更好的解决方案,请提供更好的解决方案。 -
很高兴您找到了解决方案!回复:散列:盐太大了。你的意思是 128 位而不是 128 字节?
-
是的,我的意思是 128 位是否被视为字节?因为告诉我使用 pbkdfsync 的人告诉我它需要一些位。
-
是的,它需要一个字节数。
标签: node.js postgresql express plpgsql pgpool