Javascript 通过sql标记的Slonik动态插入查询
通过,我尝试以动态方式创建sql语句。我有一个用于insert语句和创建值列表的键列表 这是我的设置示例。尽管我的插入列的定义总是失败Javascript 通过sql标记的Slonik动态插入查询,javascript,sql,node.js,node-postgres,slonik,Javascript,Sql,Node.js,Node Postgres,Slonik,通过,我尝试以动态方式创建sql语句。我有一个用于insert语句和创建值列表的键列表 这是我的设置示例。尽管我的插入列的定义总是失败 const keys = [ 'type', 'substance_group', 'substance', 'unit', 'zone_id', 'zone', 'sector', 'sub_sector', 'sum_bruto', 'sum_netto', ]; c
const keys = [
'type',
'substance_group',
'substance',
'unit',
'zone_id',
'zone',
'sector',
'sub_sector',
'sum_bruto',
'sum_netto',
];
const emissionValues = values<string>(pick(emission, keys));
// (type, substance_group, substance, unit, zone_id, zone, sector, sub_sector, sum_bruto, sum_netto)
const query = sql`
INSERT INTO api.emissions
(${sql.array(keys, 'text')})
VALUES (${emissionValues.join(',')})
`;
const key=[
“类型”,
“物质组”,
“物质”,
"单位",,
“区域id”,
"地带",,
“部门”,
“次级部门”,
“sum_bruto”,
“sum_netto”,
];
常量发射值=值(拾取(发射,关键点));
//(类型、物质组、物质、单位、区域id、区域、扇区、子扇区、总和布鲁托、总和净额)
constquery=sql`
插入api.1中
(${sql.array(键,'text')})
值(${emissionValues.join(',')})
`;
我试过这些表格:
${sql.array(键,'text')}
,${sql.join(键,sql
)}
- 或纯
${keys.join(',')
sql.identifier
作为标识符,例如
const identifiers = keys.map((key) => {
return sql.identifier([key]);
});
sql`
INSERT INTO api.emissions
(${sql.join(identifiers, sql`, `)})
VALUES
(${sql.join(values, sql`, `)})
`
如果要插入多行,请查看