gpt4 book ai didi

node.js - pg-promise 创建列错误

转载 作者:行者123 更新时间:2023-11-29 12:09:05 27 4
gpt4 key购买 nike

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

我尝试在 nodejs 中使用上述代码向 heroku 上的数据库主机添加一个新列,但我不断收到此错误:

error: syntax error at or near "'haha'"

'haha' 是 name 里面的值,有人知道哪里出了问题吗?

最佳答案

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

任何模式/表/列名称都称为 SQL 名称,必须使用 "" 进行转义。

pg-promise内这意味着你必须使用它的 SQL Names支持,用 :name: 或 ~ 修饰符。

db.any('alter table "houseList" add  $1:name text', [name])

db.any('alter table "houseList" add  $1~ text', [name])

另外,如果你确定你只使用简单的名字,即没有空格,没有大写,那么你可以直接使用这个名字,不转义,这意味着使用 Raw Text ,通过修饰符 :raw^。但通常不建议这样做,即建议转义名称更安全;)

关于node.js - pg-promise 创建列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46557464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com