Function tx_insert

Source
pub fn tx_insert<'a, T, P: for<'b> FromSql<'b> + Send + Sync>(
    tx: Transaction<'a>,
    entity: T,
) -> Result<(Transaction<'a>, P), Error>
where T: SqlQuery + SqlParams,
Expand description

§tx_insert

Transaction içinde bir kaydı veritabanına ekler.

§Parametreler

  • tx: Transaction nesnesi
  • entity: Eklenecek veri nesnesi (SqlQuery ve SqlParams trait’lerini implement etmeli)

§Dönüş Değeri

  • Result<(Transaction<'_>, P), Error>: Başarılı olursa, transaction ve etkilenen kayıt sayısını döner; hata durumunda Error döner

§Örnek Kullanım

use postgres::{Client, NoTls, Error};
use parsql::postgres::transactional::{begin, tx_insert};
 
#[derive(Insertable, SqlParams)]
#[table("users")]
pub struct InsertUser {
    pub name: String,
    pub email: String,
}

fn main() -> Result<(), Error> {
    let mut client = Client::connect(
        "host=localhost user=postgres dbname=test",
        NoTls,
    )?;
     
    let mut tx = begin(&mut client)?;
     
    let insert_user = InsertUser {
        name: "John".to_string(),
        email: "john@example.com".to_string(),
    };
     
    let (tx, rows_affected) = tx_insert(tx, insert_user)?;
     
    // İşlemler devam edebilir...
     
    // Transaction'ı tamamla
    tx.commit()?;
    Ok(())
}