使用多个插入准备查询

问题描述

我需要在表单上创建一个带有多个插入的查询

insert into product_ohlcv_history (broker_id,product_id,timestamp,open,high,low,close,volume,timeframe)
 values
(1,'XX',2020-01-16T10:00:00.000z",4,5,6,7,8),(1,2020-01-16T10:01:00.000z",9,2020-01-16T10:02:00.000z",8)
on conflict (broker_uuid,timestamp) do nothing;

插入次数未知,因此在一个查询中我可以插入 10 个值,在另一个插入 90 个值等等(它们取决于从另一个来源检索的数据)。

我想在 libpqxx 中准备一个语句来进行查询。我已经准备好了声明

pqxx::connection* m_connection;
// ...

namespace Query {

namespace Name {

constexpr auto InsertOHLCList{ "insertohlcvlist" };

} // namespace Name

constexpr auto InsertOHLCList{ "insert into product_ohlcv_history (broker_uuid,timeframe) values $1 on conflict (broker_uuid,timestamp) do nothing;" };

} // namespace Query

m_connection->prepare(Query::Name::InsertOHLCList,Query::InsertOHLCList);

然后我在我的代码中创建值字符串并在 $1 中替换它。问题是 libpqxx 在准备语句时给了我一个错误

Failure during '[PREPARE insertohlcvlist]': ERROR:  Syntax error at or near "$1"
LINE 1: ...open,timeframe) values $1 on conf...

准备带有多个插入的语句的正确方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)