在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来插入外键,而不必先查找其他ID。
在节点-postgres中,为了同时插入许多查询,我转向pg格式。
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格式的问题--它似乎没有使用参数化。
我试图同时执行大量的插入,并利用INSERT中的SELECTS。
我可以使用节点-postgres来完成这个任务吗?
发布于 2022-05-20 02:12:49
上面的Bergi是对的。
INSERT INTO minute_registers_main_values (registers_id, t, v, i, w, pf, f)
(
SELECT id AS registers_id, $1, $2, $3, $4, $5, $6
FROM registers WHERE main=$7 AND cnt=$8 AND hub_serial=$9
);可以使用多维args数组发送到client.query中。
https://stackoverflow.com/questions/72312590
复制相似问题