微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用多个插入准备查询

如何解决使用多个插入准备查询

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

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 举报,一经查实,本站将立刻删除。