【发布时间】:2019-09-27 19:05:26
【问题描述】:
我正在使用 postgresql-db 开发一个 nodejs 项目。 我创建了一个名为“UserAsanas”的表。肯定有的,我查了又查了。
但是当我尝试多行插入时,它一直告诉我以下内容:
错误:关系“UserAsanas”不存在
const cs = pgp.helpers.ColumnSet(['UserID', 'AsanaID', 'RoutineID'], { table: 'UserAsanas' });
const values = [{UserID: 1, AsanaID: 2,RoutineID: 1}, {UserID: 1, AsanaID: 33,RoutineID: 1}];
const multi = pgp.helpers.insert(values, cs)+ ' RETURNING id';
// INSERT INTO "UserAsanas"("UserID","AsanaID","RoutineID") VALUES(1,2,1),(1,33,1) RETURNING id
db.none(multi).then(data=> {
res.status(201)
})
.catch( err => {
return next(err)
})
【问题讨论】:
-
SQL 标识符(如表名和列名)默认情况下不区分大小写——您是否有可能将表“userasanas”作为“UserAsanas”访问?反之亦然?
-
@jmelesky 我也想说。要么就是这样,要么他在非默认模式中创建了表。
-
谢谢,该表肯定被称为 UserAsanas,我可以通过添加到例程 ${routineId} 的
db.one('INSERT INTO UserAsanas (UserID, AsanaID, RoutineID) VALUES (1,2,3) RETURNING ID').then(data=> { res.status(201).send(Asana 插入数据,ID 为:${data.id}) }) -
只是为了添加更多信息,我使用“pg-promise”:“^8.6.5”和“bluebird”:“^3.5.4”
标签: javascript node.js postgresql pg-promise