问题描述
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 (将#修改为@)