小编M.N*_*air的帖子

在 Rust 中使用 Tokio-postgres 将多个值插入到 Postgres

我正在使用下面的代码使用 tokio-postgres 插入到 Postgres 数据库,是否有更好的选择:

let members = &[obj] //obj is a struct
let mut params = Vec::<&(dyn ToSql + Sync)>::new();
let mut i = 1;
let mut qry:String = "insert into tablename(id,userid,usertype) values".to_string();
for column in members{
    if(i ==1){
        qry = format!("{} (${},${},${})",qry,i,i+1,i+2);
    }else{
        qry = format!("{}, (${},${},${})",qry,i,i+1,i+2);

    }
    params.push(&column.id);
    params.push(&column.userid);
    params.push(&column.usertype);
    i = i+3;
               
}
println!("qry : {}",qry);
let result = p.execute(&qry, &params[..]).await; //p is the pool manager
Run Code Online (Sandbox Code Playgroud)

postgresql multiple-insert rust tokio-postgres

5
推荐指数
1
解决办法
2863
查看次数