Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js uuid可能是postgres中的空字符串_Node.js_Uuid_Postgresql 9.6 - Fatal编程技术网

Node.js uuid可能是postgres中的空字符串

Node.js uuid可能是postgres中的空字符串,node.js,uuid,postgresql-9.6,Node.js,Uuid,Postgresql 9.6,在这里,我创建了一个空表和一个函数: CREATE TABLE "ebook_info_t" ( "ebook_id" uuid NOT NULL, ... PRIMARY KEY ("ebook_id") ); CREATE OR REPLACE FUNCTION add_ebook_f( IN author text, OUT existid uuid, OUT isexist bool) RETURNS SETOF RECORD AS $$ DECL

在这里,我创建了一个空表和一个函数:

CREATE TABLE "ebook_info_t" (
    "ebook_id" uuid NOT NULL,
    ...
    PRIMARY KEY ("ebook_id")
);
CREATE OR REPLACE FUNCTION add_ebook_f(
    IN author text,
    OUT existid uuid, OUT isexist bool)
RETURNS SETOF RECORD AS $$
DECLARE
    rc uuid := NULL;
    bkname text :=NULL;
BEGIN
    SELECT ebook_id,title INTO rc,bkname FROM ebook_info_t WHERE author_name=author;
    RAISE EXCEPTION 'bookid=%, title=%',rc,bkname;
END
$$
LANGUAGE plpgsql;
我通过版本为6.1.2的pg模块在nodejs中调用此函数。
首先,表
ebook\u info\t
为空。我调用函数
add\u ebook\f
然后接收
bookid=3d6171d3-3d45-4869-8e89-b8975a31246b,title=thebookname

其次,我删除了WHERE条件。然后我再叫它。我收到
bookid=bac22a64-9cb2-440a-be39-b40d74c2ddfb,标题=

最后,我在pgAdmin4中测试了这个函数。我显示
错误:bookid=,title=

如果该书不存在,我想将其插入表中。但是如果我在nodejs中调用
add\u ebook\u f
,我无法判断这本书是否存在。

所以我的问题是,如果表中不存在图书信息,如何将其插入表中?换句话说,我能知道这本书的存在吗?

为什么不使用
coalesce
来表示空值,而
找不到数据来表示空表呢?
。我在更新中做了更多的测试。我不擅长博士后。你知道在博士后发生了什么吗?请把你的问题压缩成:1。你有什么,2。你想要什么,3.你怎么做,4。你对此有什么问题?这似乎是pg模块的一个缺陷。我更新到6.1.5版,效果很好。谢谢你的帮助!