Struct diesel::query_builder::update_statement::UpdateStatement [] [src]

pub struct UpdateStatement<T, U> {
    // some fields omitted
}

Methods

impl<T, U> UpdateStatement<T, U>

fn returning<E>(self, returns: E) -> UpdateQuery<E, UpdateStatement<T, U>> where T: UpdateTarget, UpdateQuery<E, UpdateStatement<T, U>>: Query

Specify what expression is returned after execution of the update.

Examples

Updating a single record:

let updated_name = diesel::update(users.filter(id.eq(1)))
    .set(name.eq("Dean"))
    .returning(name)
    .get_result(&connection);
assert_eq!(Ok("Dean".to_string()), updated_name);

Trait Implementations

impl<T, U, DB> QueryFragment<DB> for UpdateStatement<T, U> where DB: Backend, T: UpdateTarget, T::WhereClause: QueryFragment<DB>, T::FromClause: QueryFragment<DB>, U: Changeset<DB>

fn to_sql(&self, out: &mut DB::QueryBuilder) -> BuildQueryResult

fn collect_binds(&self, out: &mut DB::BindCollector) -> QueryResult<()>

fn is_safe_to_cache_prepared(&self) -> bool

impl<T, U> QueryId for UpdateStatement<T, U>

type QueryId = ()

fn has_static_query_id() -> bool

fn query_id() -> Option<TypeId>

impl<T, U> AsQuery for UpdateStatement<T, U> where T: UpdateTarget, UpdateQuery<T::Table::AllColumns, UpdateStatement<T, U>>: Query

type SqlType = Self::Query::SqlType

type Query = UpdateQuery<T::Table::AllColumns, UpdateStatement<T, U>>

fn as_query(self) -> Self::Query