在postgre的节点中插入函数
Insert function in node in postgre
您好,我正在学习教程并尝试执行简单的插入查询但得到 404 error.I 我正在尝试使用邮递员输入值。
函数
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();
})
}
堆栈跟踪显示问题接近 "values"。我没有得到 it.following 我的流程 documentation.Something 查询有误吗?
堆栈跟踪
POST /api/users 401 83.997 毫秒 - 43
{ [错误:“$”处或附近的语法错误]
姓名:'error',
长度:102,
严重性:'ERROR',
代码:'42601',
细节:未定义,
提示:未定义,
位置:'78',
内部位置:未定义,
内部查询:未定义,
其中:未定义,
模式:未定义,
table:未定义,
列:未定义,
数据类型:未定义,
约束:未定义,
文件:'src\backend\parser\scan.l',
行:'1053',
例程:'scanner_yyerror'}
我和 Node.Bear 在一起的第 5 天。
错误代码 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
关键字之间没有 space。您的陈述应如下所示:
"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);
声明变量的愚蠢错误
这有效
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)
您好,我正在学习教程并尝试执行简单的插入查询但得到 404 error.I 我正在尝试使用邮递员输入值。
函数
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();
})
}
堆栈跟踪显示问题接近 "values"。我没有得到 it.following 我的流程 documentation.Something 查询有误吗?
堆栈跟踪
POST /api/users 401 83.997 毫秒 - 43 { [错误:“$”处或附近的语法错误] 姓名:'error', 长度:102, 严重性:'ERROR', 代码:'42601', 细节:未定义, 提示:未定义, 位置:'78', 内部位置:未定义, 内部查询:未定义, 其中:未定义, 模式:未定义, table:未定义, 列:未定义, 数据类型:未定义, 约束:未定义, 文件:'src\backend\parser\scan.l', 行:'1053', 例程:'scanner_yyerror'}
我和 Node.Bear 在一起的第 5 天。
错误代码 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
关键字之间没有 space。您的陈述应如下所示:
"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);
声明变量的愚蠢错误
这有效
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)