pg-promise创build列错误
var name = req.body.name; db.any('alter table "houseList" add $1 text', [name])
我试图添加一个新的列到数据库主机上使用上述代码在nodejs heroku,但我不断收到此错误:
错误:在语法错误或“”哈哈“”
“哈哈”是名字里的价值,任何人都有什么想法是错的?
您正在使用无效的转义列名作为常规stringvariables。
任何模式/表/列名被称为SQL名称,并且必须使用""
来转义。
在pg-promise中 ,这意味着您必须使用它的SQL名称支持:name
:或〜modifier。
db.any('alter table "houseList" add $1:name text', [name])
要么
db.any('alter table "houseList" add $1~ text', [name])
另外,如果您确定只使用简单的名称,即没有空格,也没有大写字母,那么可以直接使用名称,即使用原始文本 ,通过修饰符:raw
或^
。 但一般来说,这是不推荐的,即逃避名称build议更安全;)