【发布时间】:2018-02-25 21:21:17
【问题描述】:
由 node.js 开发。我正在使用pg-promise。
插入以下数据有问题。
我想在下表中插入多行数据。
create table info (
id varchar(20) not null,
name varchar(20) not null,
createdate timestamp with time zone not null
)
我在下面插入了数据。
let info = [
{ myid: '0001', myname: 'name1' },
{ myid: '0002', myname: 'name2' },
{ myid: '0003', myname: 'name3' },
]
我最初插入了以下内容。
for (let i = 0; i <info.length; i ++) {
db.none (`INSERT INTO info (id, name, createdate ') VALUES ($1, $2, CURRENT_TIMESTAMP)`, [info[i].id, info[i].name])
}
我想使用 pg-promise 正确修复它。
const dataMulti = info
const cs = new pgp.helpers.ColumnSet(
[
'id',
'name',
'createdate',
], {
table: 'info',
})
await db.none(pgp.helpers.insert(dataMulti, cs))
这里,
1.插入数据的key与.key不同时无法插入。表的列名?
我知道有 pgp.helpers.ColumnSet()
错误:属性“id”不存在。
发生同样的错误。
我很好奇表列名和表列名之间的关系 ColumnSets 用于列设置。
2。使用上面的helpers时,如何在数据库中插入当前时间current_timestamp?
感谢您对这两个问题的回答。
【问题讨论】:
标签: javascript node.js postgresql pg pg-promise