pub fn tx_insert<'a, T, P: for<'b> FromSql<'b> + Send + Sync>(
tx: Transaction<'a>,
entity: T,
) -> Result<(Transaction<'a>, P), Error>
Expand description
§tx_insert
Transaction içinde bir kaydı veritabanına ekler.
§Parametreler
tx
: Transaction nesnesientity
: 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(())
}