在SQL中使用postgressql时,这是一个有效的查询,将SELECT嵌入到INSERT -
INSERT INTO minute_registers_main_values (registers_id, t, v, i, w, pf, f)
(
SELECT id AS registers_id, '2015-09-01T16:34:02', 1.0, 9.1, 5.4, 1.3, 60.01
FROM registers WHERE main=TRUE AND cnt=0 AND hub_serial='ni1uiv'
);
我可以通过在Insert上执行Select Lookup来插入外键,而不必先查找其他ID。
在node-postgres中,为了一次插入多个查询,我使用了pg-format。
const register_categoriesInsert = `
INSERT INTO register_categories (register_id, category_id) VALUES %L
`;
await client.query(format(register_categoriesInsert, solar_ids.concat(main_ids).concat(all_other_ids)),[], (err, result)=>{
console.log(err);
console.log(result);
});
这允许你在一个查询调用中一次插入很多值,尽管我对pg-format有疑问--它似乎没有使用参数化。
我尝试执行大量的插入操作,并利用在INSERT中使用SELECTS的优势。
我可以使用node-postgres来完成这个任务吗?
2条答案
按热度按时间kd3sttzy1#
上面的伯奇是对的。
可以发送到具有多维参数数组的client.query中
nwnhqdif2#
我有一个类似的问题,谢谢d36williams的回答,这帮助了我。对于其他任何人有这个问题。这是我的解决方案。