小编Mar*_*ury的帖子

使用 rust-postgres 板条箱添加多行的最佳方法是什么?

我正在使用rust-postgres crate 将数据插入到 PostgreSQL 数据库中。我从网站上抓取数据并想将其添加到数据库中。我不知道我会一次性添加多少行。在 rust 中将多行添加到 postgresql 的最佳方法是什么?

我为将所有元素从向量写入数据库的一般问题编写了一个可能的解决方案。我使用迭代器而不是for循环,因为我喜欢它提供的功能风格。INSERT为每个元素向数据库发送命令对我来说似乎并不理想。有一个更好的方法吗?

extern crate postgres;

use postgres::{Connection, TlsMode};

struct Person {
    id: i32,
    name: String,
    data: Option<Vec<u8>>,
}

fn write2db(connection: &Connection, person: Person) -> () {
    connection
        .execute(
            "INSERT INTO person (id, name, data) VALUES ($1, $2, $3)",
            &[&person.id, &person.name, &person.data],
        )
        .unwrap();
}

fn main() {
    let conn = Connection::connect("postgres://postgres@localhost:5433", TlsMode::None).unwrap();
    conn.execute(
        "CREATE TABLE person (
                        id              SERIAL PRIMARY KEY,
                        name            VARCHAR NOT NULL,
                        data            BYTEA …
Run Code Online (Sandbox Code Playgroud)

postgresql rust

5
推荐指数
0
解决办法
718
查看次数

标签 统计

postgresql ×1

rust ×1