如何在Rust中无循环调用PostgreSQL函数获取单一返回值
无需循环获取PostgreSQL单行函数返回值的Rust实现
直接使用postgres crate提供的query_one方法即可,这个方法专门用于查询并返回单行结果,完全适配你已知函数仅返回一个值的场景。
修改后的代码如下:
let row = db_client.query_one("select magic_value from priv.magic_value();", &[]).unwrap(); let magic_value: 你的数据类型 = row.get("magic_value"); // 替换为实际类型,比如i32、String等 println!("Magic value is = {}", magic_value);
说明:
query_one会自动处理单行结果,若查询返回多行或无行,会抛出错误(可根据你的错误处理策略,用unwrap或?处理)- 无需遍历结果集,直接从返回的
Row对象中提取字段值 - 注意显式指定
magic_value的类型,Rust需要明确的类型推导来避免编译报错
参考资料:
- PostgreSQL Rust客户端官方文档
- Rust操作PostgreSQL数据库指南
内容的提问来源于stack exchange,提问作者user_0
相关产品推荐
相关产品推荐

