pub struct Insert<A: ActiveModelTrait> { /* private fields */ }Expand description
An INSERT of one active model.
Implementations§
Source§impl<A: ActiveModelTrait> Insert<A>
impl<A: ActiveModelTrait> Insert<A>
Sourcepub fn on_conflict(self, on_conflict: OnConflict) -> Self
pub fn on_conflict(self, on_conflict: OnConflict) -> Self
Sets the ON CONFLICT clause.
Sourcepub async fn exec<C: ConnectionTrait>(
self,
db: &C,
) -> Result<InsertResult<A::Entity>>
pub async fn exec<C: ConnectionTrait>( self, db: &C, ) -> Result<InsertResult<A::Entity>>
Executes the insert and returns the primary key.
A key the caller supplied is echoed back; a generated one is read
from last_insert_rowid(). Non-integer keys cannot be reconstructed
this way, so use exec_with_returning
for them.
§Errors
Returns DbErr::RecordNotInserted when the statement inserted
nothing, for example under ON CONFLICT DO NOTHING; DbErr::Type
when the key is not an integer or does not fit the key type;
DbErr::Driver when the statement fails.
Sourcepub async fn exec_with_returning<C: ConnectionTrait>(
self,
db: &C,
) -> Result<<A::Entity as EntityTrait>::Model>
pub async fn exec_with_returning<C: ConnectionTrait>( self, db: &C, ) -> Result<<A::Entity as EntityTrait>::Model>
Executes the insert with RETURNING * and returns the stored model.
§Errors
Returns DbErr::RecordNotInserted when the statement inserted
nothing; DbErr::Driver when the statement fails or the returned
row cannot be decoded.
Trait Implementations§
Auto Trait Implementations§
impl<A> Freeze for Insert<A>where
A: Freeze,
impl<A> RefUnwindSafe for Insert<A>where
A: RefUnwindSafe,
impl<A> Send for Insert<A>
impl<A> Sync for Insert<A>
impl<A> Unpin for Insert<A>where
A: Unpin,
impl<A> UnsafeUnpin for Insert<A>where
A: UnsafeUnpin,
impl<A> UnwindSafe for Insert<A>where
A: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more