Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Mysql 在pgsql中使用查询中的csv文件更新表_Mysql_Node.js_Postgresql_Csv - Fatal编程技术网

Mysql 在pgsql中使用查询中的csv文件更新表

Mysql 在pgsql中使用查询中的csv文件更新表,mysql,node.js,postgresql,csv,Mysql,Node.js,Postgresql,Csv,概念是上传csv文件,旧表应删除,新文件应替换旧数据 我在其中使用nodejs,我编写了两个查询 TRUNCATE TABLE test 然后,更新表的第二个查询是 UPDATE test SET t1 = replace(t1,"") ,t2 = replace(t2,"") ,t3 = replace(t3,"") ,t4 = replace(t4,"") 我的虚拟csv文件也有相同的数据类型var char的4列t1、t2、t3、t4 执行时,我得到了错误 error: zero-

概念是上传csv文件,旧表应删除,新文件应替换旧数据 我在其中使用nodejs,我编写了两个查询

TRUNCATE TABLE test
然后,更新表的第二个查询是

UPDATE test SET 
 t1 = replace(t1,"")
,t2 = replace(t2,"")
,t3 = replace(t3,"")
,t4 = replace(t4,"")
我的虚拟csv文件也有相同的数据类型var char的4列t1、t2、t3、t4

执行时,我得到了错误

error: zero-length delimited identifier at or near """"
如果问题不对,请纠正我

  • 截断表后,就并没有要更新的行了,需要插入行

  • 双引号用于标识符-数据库对象,因此在replace函数中使用
    'string'
    “column\u name”

  • 截断表后,就并没有要更新的行了,需要插入行

  • 双引号用于标识符-数据库对象,因此在replace函数中使用
    'string'
    “column\u name”


  • 这似乎是postgres的语法问题。将替换中的“”更改为“”。双引号标识分隔值,空字符串不能代表分隔值,而单引号仅标记字符串值。如果在这里需要分隔值,则必须在双引号中添加一些内容,使其不是空字符串


    正如Vao Tsun所指出的,您可能需要将
    更新
    更改为
    插入
    UPDATE
    修改当前行,而
    INSERT
    添加新行。由于
    TRUNCATE TABLE
    删除了所有行,因此在下面的查询中将不需要更新任何行。这不会引发错误,因为这是有效的,但您可能看不到查询的任何影响。

    这似乎是您的语法的postgres问题。将替换中的“”更改为“”。双引号标识分隔值,空字符串不能代表分隔值,而单引号仅标记字符串值。如果在这里需要分隔值,则必须在双引号中添加一些内容,使其不是空字符串

    正如Vao Tsun所指出的,您可能需要将
    更新
    更改为
    插入
    UPDATE
    修改当前行,而
    INSERT
    添加新行。由于
    TRUNCATE TABLE
    删除了所有行,因此在下面的查询中将不需要更新任何行。这不会引发错误,因为这是有效的,但您可能不会看到查询的任何影响