[][src]Struct diesel::query_builder::InsertStatement

#[must_use = "Queries are only executed when calling `load`, `get_result` or similar."]
pub struct InsertStatement<T, U, Op = Insert, Ret = NoReturningClause> { /* fields omitted */ }

A fully constructed insert statement.

The parameters of this struct represent:

Methods

impl<T, U, C, Op, Ret> InsertStatement<T, InsertFromSelect<U, C>, Op, Ret>[src]

pub fn into_columns<C2>(
    self,
    columns: C2
) -> InsertStatement<T, InsertFromSelect<U, C2>, Op, Ret> where
    C2: ColumnList<Table = T> + Expression<SqlType = U::SqlType>,
    U: Query
[src]

Set the column list when inserting from a select statement

See the documentation for insert_into for usage examples.

impl<T, U, Op> InsertStatement<T, U, Op>[src]

pub fn returning<E>(
    self,
    returns: E
) -> InsertStatement<T, U, Op, ReturningClause<E>> where
    InsertStatement<T, U, Op, ReturningClause<E>>: Query
[src]

Specify what expression is returned after execution of the insert.

Examples

Inserting records:

let inserted_names = diesel::insert_into(users)
    .values(&vec![name.eq("Timmy"), name.eq("Jimmy")])
    .returning(name)
    .get_results(&connection);
assert_eq!(Ok(vec!["Timmy".to_string(), "Jimmy".to_string()]), inserted_names);

Trait Implementations

impl<T, U, Op, Ret> QueryId for InsertStatement<T, U, Op, Ret>[src]

type QueryId = ()

A type which uniquely represents Self in a SQL query. Read more

fn query_id() -> Option<TypeId>[src]

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise. Read more

impl<T, U, Op, Ret> Query for InsertStatement<T, U, Op, ReturningClause<Ret>> where
    Ret: Expression + SelectableExpression<T> + NonAggregate
[src]

type SqlType = Ret::SqlType

The SQL type that this query represents. Read more

impl<T, U, Op, Ret, DB> QueryFragment<DB> for InsertStatement<T, U, Op, Ret> where
    DB: Backend,
    T: Table,
    T::FromClause: QueryFragment<DB>,
    U: QueryFragment<DB> + CanInsertInSingleQuery<DB>,
    Op: QueryFragment<DB>,
    Ret: QueryFragment<DB>, 
[src]

fn to_sql(&self, out: &mut DB::QueryBuilder) -> QueryResult<()>[src]

Converts this QueryFragment to its SQL representation. Read more

fn collect_binds(
    &self,
    out: &mut DB::BindCollector,
    metadata_lookup: &DB::MetadataLookup
) -> QueryResult<()>
[src]

Serializes all bind parameters in this query. Read more

fn is_safe_to_cache_prepared(&self) -> QueryResult<bool>[src]

Is this query safe to store in the prepared statement cache? Read more

impl<T, U, Op> AsQuery for InsertStatement<T, U, Op, NoReturningClause> where
    T: Table,
    InsertStatement<T, U, Op, ReturningClause<T::AllColumns>>: Query
[src]

type SqlType = <Self::Query as Query>::SqlType

The SQL type of Self::Query

type Query = InsertStatement<T, U, Op, ReturningClause<T::AllColumns>>

What kind of query does this type represent?

impl<T, U, Op, Ret, Conn> RunQueryDsl<Conn> for InsertStatement<T, U, Op, Ret>[src]

fn execute(self, conn: &Conn) -> QueryResult<usize> where
    Conn: Connection,
    Self: ExecuteDsl<Conn>, 
[src]

Executes the given command, returning the number of rows affected. Read more

fn load<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Executes the given query, returning a Vec with the returned rows. Read more

fn get_result<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, and returns the affected row. Read more

fn get_results<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, returning an Vec with the affected rows. Read more

fn first<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LimitDsl,
    Limit<Self>: LoadQuery<Conn, U>, 
[src]

Attempts to load a single record. Read more

impl<T: Copy, U: Copy, Op: Copy, Ret: Copy> Copy for InsertStatement<T, U, Op, Ret>[src]

impl<T: Clone, U: Clone, Op: Clone, Ret: Clone> Clone for InsertStatement<T, U, Op, Ret>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<T: Debug, U: Debug, Op: Debug, Ret: Debug> Debug for InsertStatement<T, U, Op, Ret>[src]

Auto Trait Implementations

impl<T, U, Op, Ret> Unpin for InsertStatement<T, U, Op, Ret> where
    Op: Unpin,
    Ret: Unpin,
    T: Unpin,
    U: Unpin

impl<T, U, Op, Ret> Sync for InsertStatement<T, U, Op, Ret> where
    Op: Sync,
    Ret: Sync,
    T: Sync,
    U: Sync

impl<T, U, Op, Ret> Send for InsertStatement<T, U, Op, Ret> where
    Op: Send,
    Ret: Send,
    T: Send,
    U: Send

impl<T, U, Op, Ret> UnwindSafe for InsertStatement<T, U, Op, Ret> where
    Op: UnwindSafe,
    Ret: UnwindSafe,
    T: UnwindSafe,
    U: UnwindSafe

impl<T, U, Op, Ret> RefUnwindSafe for InsertStatement<T, U, Op, Ret> where
    Op: RefUnwindSafe,
    Ret: RefUnwindSafe,
    T: RefUnwindSafe,
    U: RefUnwindSafe

Blanket Implementations

impl<T> IntoSql for T[src]

fn into_sql<T>(self) -> AsExprOf<Self, T> where
    Self: AsExpression<T> + Sized
[src]

Convert self to an expression for Diesel's query builder. Read more

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T> where
    &'a Self: AsExpression<T>, 
[src]

Convert &self to an expression for Diesel's query builder. Read more

impl<T> AsQuery for T where
    T: Query
[src]

type SqlType = <T as Query>::SqlType

The SQL type of Self::Query

type Query = T

What kind of query does this type represent?

impl<Conn, T, U> LoadQuery<Conn, U> for T where
    Conn: Connection,
    T: AsQuery + RunQueryDsl<Conn>,
    U: Queryable<<T as AsQuery>::SqlType, <Conn as Connection>::Backend>,
    <Conn as Connection>::Backend: HasSqlType<<T as AsQuery>::SqlType>,
    <T as AsQuery>::Query: QueryFragment<<Conn as Connection>::Backend>,
    <T as AsQuery>::Query: QueryId
[src]

impl<Conn, DB, T> ExecuteDsl<Conn, DB> for T where
    Conn: Connection<Backend = DB>,
    DB: Backend,
    T: QueryFragment<DB> + QueryId
[src]

impl<T, Conn> RunQueryDsl<Conn> for T where
    T: Table
[src]

fn execute(self, conn: &Conn) -> QueryResult<usize> where
    Conn: Connection,
    Self: ExecuteDsl<Conn>, 
[src]

Executes the given command, returning the number of rows affected. Read more

fn load<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Executes the given query, returning a Vec with the returned rows. Read more

fn get_result<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, and returns the affected row. Read more

fn get_results<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, returning an Vec with the affected rows. Read more

fn first<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LimitDsl,
    Limit<Self>: LoadQuery<Conn, U>, 
[src]

Attempts to load a single record. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]