gpt4 book ai didi

javascript - 在postgre的 Node 中插入函数

转载 作者:太空宇宙 更新时间:2023-11-04 02:08:26 26 4
gpt4 key购买 nike

您好,我正在遵循教程并尝试执行简单的插入查询,但收到 404 错误。我正在尝试使用 postman 输入值。

功能

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 的第五天。

最佳答案

错误代码 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);

关于javascript - 在postgre的 Node 中插入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43327711/

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