如何解决使用多个插入准备查询
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 举报,一经查实,本站将立刻删除。