如何在 Rust 中将类型注释和函数与 Sqlx 查询生成器一起使用

How do I use type annotation and function with Sqlx query builder in Rust

提问人:Finlay Weber 提问时间:11/17/2023 更新时间:11/17/2023 访问量:24

问:

我基本上有一个这样的查询

INSERT INTO assets (id, events, geo) 
VALUES ($1, $2::jsonb, ST_GeomFromGeoJSON($3))

但我想使用查询构建器进行构建,因为我想插入多个值。我试过这样的事情

        let mut query_builder = QueryBuilder::new(
            r#"
            INSERT INTO assets
            (id, events, geo)
            "#,
        );

        query_builder.push_values(values, |mut builder, value| {
            builder
                .push_bind(value.id)
                .push_bind(asset.events.clone())
                .push_bind(asset.geo.clone());
        });

但这不起作用,因为使用方法,我还没有找到一种方法来执行查询中所需的类型断言和函数调用。push_bind2::jsonbST_GeomFromGeoJSON($3)

有什么想法怎么做吗?

sql rust-sqlx

评论

0赞 cdhowie 11/17/2023
我不认为这真的是设计要做的事情。如果你想在 Rust 中构建更复杂的查询,你可能想改用,但请注意,这需要你为你的模式生成/编写适当的实现。QueryBuildersea-queryIden

答: 暂无答案