我试图从@vercel/postgres
使用sql
助手创建一个SQL批量插入查询。我打算从对象数组构建查询。对象具有数字/字符串/日期类型的属性。创建一个字符串并传递给sql
助手将不起作用,我相信是由于参数化查询。所以,真的有什么方法可以动态地构建一个查询,并使用Vercel的Postgres包运行(而不使用ORM)吗?
我试过这样的方法,显然不起作用:
import { sql } from "@vercel/postgres";
// Adds same charge for multiple users
export async function bulkInsert(userIds, charge) {
const values = userIds.map((id) => `(${id}, ${charge.created_date}, ${charge.amount}, ${charge.note})`
);
await sql`INSERT INTO charges (user_id, date_created, amount, note)
VALUES ${values.join(",")}`;
}
字符串
1条答案
按热度按时间uz75evzq1#
所以我认为
sql.query()
方法可以用于这种情况。在json_populate_recordset()
的帮助下,我的代码现在看起来是这样的:字符串
感谢@Bergi直接指向this和that的答案,我在那里提到了解决这个问题。