Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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 pg承诺创建列错误_Node.js_Postgresql_Pg Promise - Fatal编程技术网

Node.js pg承诺创建列错误

Node.js pg承诺创建列错误,node.js,postgresql,pg-promise,Node.js,Postgresql,Pg Promise,我试图使用nodejs中的上述代码在heroku上的数据库主机中添加一个新列,但我一直收到以下错误: 错误:在“'haha'”处或附近出现语法错误 “haha”是名称中的值,有人知道怎么回事吗?您正在使用无效转义作为常规字符串变量作为列名 任何架构/表/列名都称为SQL名称,必须使用“进行转义 这意味着您必须使用它的支持,带有:name:或~修饰符 var name = req.body.name; db.any('alter table "houseList" add $1 text', [

我试图使用nodejs中的上述代码在heroku上的数据库主机中添加一个新列,但我一直收到以下错误:

错误:在“'haha'”处或附近出现语法错误


“haha”是名称中的值,有人知道怎么回事吗?

您正在使用无效转义作为常规字符串变量作为列名

任何架构/表/列名都称为SQL名称,必须使用
进行转义

这意味着您必须使用它的支持,带有
:name
:或
~
修饰符

var name = req.body.name;
db.any('alter table "houseList" add  $1 text', [name])


此外,如果您确定只使用简单的名称,即没有空格,没有大写字母,那么您可以直接使用名称,不带空格,这意味着使用,通过修饰符
:raw
^
。但一般情况下,不建议这样做,即建议对名称进行转义,因为这样更安全;)

非常感谢你@解难堂如果回答了您的问题,请点击投票柜台上的勾号接受。
db.any('alter table "houseList" add  $1:name text', [name])
db.any('alter table "houseList" add  $1~ text', [name])