代码之家  ›  专栏  ›  技术社区  ›  Jienan Tang

pg promise创建列错误

  •  2
  • Jienan Tang  · 技术社区  · 8 年前
    var name = req.body.name;
    db.any('alter table "houseList" add  $1 text', [name])
    

    我试图在上向数据库主机添加一个新列 在中使用上述代码 节点JS 但我一直在犯这样的错误:

    错误:“haha”处或附近的语法错误

    1 回复  |  直到 8 年前
        1
  •  2
  •   vitaly-t    8 年前

    您正在将无效转义用作列名的常规字符串变量。

    "" .

    在内部 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 ^ . 但通常情况下,不建议这样做,即建议对名称进行转义,因为这样更安全;)

    推荐文章