【问题标题】:Insert function in node in postgre在postgre的节点中插入函数
【发布时间】:2017-09-05 18:22:14
【问题描述】:

您好,我正在学习教程并尝试执行简单的插入查询,但出现 404 错误。我正在尝试使用邮递员输入值。

功能

function insertUser(req, res, next){
  req.body.users = parseInt(req.body.users);
  
  db.none('INSERT INTO office.users (role_id, office_id, user_name, full_name) ' +
    'VALUES (${role_id}, ${office_id}, ${user_name}, ${full_name})', req.body.users)
   .then(function(){
        res.status(200)
        .json({
          status: 'success',
          message: 'Inserted one user'
   });
   })
 .catch(error => {
        console.log(error);
        next();
})
}

堆栈跟踪显示问题接近“值”。我没有得到它。按照我的文档流。查询有问题吗?

堆栈跟踪

POST /api/users 401 83.997 毫秒 - 43 { [错误:“$”处或附近的语法错误] 名称:'错误', 长度:102, 严重性:'错误', 代码:'42601', 详细信息:未定义, 提示:未定义, 位置:'78', 内部位置:未定义, 内部查询:未定义, 其中:未定义, 架构:未定义, 表:未定义, 列:未定义, 数据类型:未定义, 约束:未定义, 文件:'src\backend\parser\scan.l', 行:'1053', 例程:'scanner_yyerror' }

我在 Node.Bear 的第五天。

【问题讨论】:

  • 你这样做 VALUES(columns) VALUES(variables) - 这不是插入的 SQL 语法,因此会出现错误。
  • @vitaly-t 抱歉插入语法错误..正在尝试寻找不同的解决方案并复制粘贴错误..我编辑了我的问题先生..我仍然在 $ 附近遇到语法错误..从几个小时开始做这件事。
  • SQL 字符串中的反引号?'VALUES (${role_id}, ${office_id}, ${user_name}, ${full_name})'...' ' ?

标签: javascript node.js postgresql express pg-promise


【解决方案1】:

声明变量的愚蠢错误

成功了

 db.none('INSERT INTO office.users(role_id, office_id, user_name, full_name, password)' +
         'values(${role_id},${office_id},${user_name},${full_name},${password})', req.body)

【讨论】:

    【解决方案2】:

    错误代码 42601 是 postgres 语法错误。如果您要将我们的 sql 语句打印到页面上,您会看到如下内容:

    "INSERT INTO office.users VALUES (role_id,office_id,user_name,full_name)values(${role_id},${office_id},${user_name},${full_name})"
    

    这有很多问题。首先,在您的列列表前面加上VALUES。其次,您的列列表和(正确的)values 关键字之间没有空格。您的声明应如下所示:

    "INSERT INTO office.users (role_id, office_id, user_name, full_name) VALUES (${role_id}, ${office_id}, ${user_name}, ${full_name})"
    

    这意味着您的 javascript 需要看起来更像这样:

    db.none('INSERT INTO office.users (role_id, office_id, user_name, full_name) ' +
            'VALUES (${role_id}, ${office_id}, ${user_name}, ${full_name})', req.body.users);
    

    【讨论】:

    • 编辑了我的问题先生..仍然在 $ 处收到系统税错误
    猜你喜欢
    • 2020-05-11
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    相关资源
    最近更新 更多