在 pg-promise 中使用助手时如何设置列
How to set columns when using helpers in pg-promise
由 node.js 开发。我正在使用 pg-promise.
插入以下数据时出现问题。
我想在下面的table中插入多行数据。
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 (, , 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.当插入数据的键与 不同时无法插入。 table?
的列名称
I know there is pgp.helpers.ColumnSet()
Error: Property 'id' does not exist.
The same error occurs.
I am curious about the relationship between table column names and
ColumnSets for column settings.
2。使用上面的助手时,如何在数据库中插入当前时间current_timestamp?
感谢您对这两个问题的回答。
以下ColumnSet解决了你所有的问题:
const cs = new pgp.helpers.ColumnSet([
{name: 'id', prop: 'myid'},
{name: 'name', prop: 'myname'},
{name: 'createdate', mod: '^', def: 'CURRENT_TIMESTAMP'}
], {
table: 'info'
});
请参阅 Column 了解可用于配置各个列的内容。
the application of CURRENT_TIMESTAMP
is difficult to understand...
{name: 'createdate', mod: '^', def: 'CURRENT_TIMESTAMP'}
这是一个名为createdate
的列,默认值为CURRENT_TIMESTAMP
和格式修饰符^
(与:raw
相同),表示原始文本(无需转义) ).除此之外,Column类型详细解释。
由 node.js 开发。我正在使用 pg-promise.
插入以下数据时出现问题。
我想在下面的table中插入多行数据。
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 (, , 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.当插入数据的键与 不同时无法插入。 table?
的列名称I know there is pgp.helpers.ColumnSet()
Error: Property 'id' does not exist.
The same error occurs.
I am curious about the relationship between table column names and ColumnSets for column settings.
2。使用上面的助手时,如何在数据库中插入当前时间current_timestamp?
感谢您对这两个问题的回答。
以下ColumnSet解决了你所有的问题:
const cs = new pgp.helpers.ColumnSet([
{name: 'id', prop: 'myid'},
{name: 'name', prop: 'myname'},
{name: 'createdate', mod: '^', def: 'CURRENT_TIMESTAMP'}
], {
table: 'info'
});
请参阅 Column 了解可用于配置各个列的内容。
the application of
CURRENT_TIMESTAMP
is difficult to understand...
{name: 'createdate', mod: '^', def: 'CURRENT_TIMESTAMP'}
这是一个名为createdate
的列,默认值为CURRENT_TIMESTAMP
和格式修饰符^
(与:raw
相同),表示原始文本(无需转义) ).除此之外,Column类型详细解释。