Skip to main content

InsertQuery

Struct InsertQuery 

Source
pub struct InsertQuery {
    pub with: With,
    pub table: TableRef,
    pub overriding: Option<Overriding>,
    pub values: Values,
    pub conflict: Conflict,
    pub returning: Returning,
}
Expand description

A PostgreSQL INSERT.

From https://www.postgresql.org/docs/17/sql-insert.html:

[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
    [ OVERRIDING { SYSTEM | USER } VALUE ]
    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
    [ ON CONFLICT [ conflict_target ] conflict_action ]
    [ RETURNING … ]

The row source is one of three alternatives, and DEFAULT VALUES is the one Values cannot represent — an absent clause has to render nothing, and the spelling is not shared with MySQL anyway. So an empty Values is what DEFAULT VALUES is here, and this query writes the keywords itself.

Fields§

§with: With

WITH ….

§table: TableRef

The target: table, optional alias, and the insert column list.

§overriding: Option<Overriding>

OVERRIDING … VALUE.

§values: Values

The rows, or the query to insert the results of. Empty means DEFAULT VALUES.

§conflict: Conflict

ON CONFLICT ….

§returning: Returning

RETURNING ….

Implementations§

Source§

impl InsertQuery

Source

pub fn new() -> InsertQuery

An INSERT with nothing set yet.

Source

pub fn apply(&mut self, mods: impl Mod<InsertQuery>)

Apply more mods to an existing query.

Trait Implementations§

Source§

impl Clone for InsertQuery

Source§

fn clone(&self) -> InsertQuery

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InsertQuery

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for InsertQuery

Source§

fn default() -> InsertQuery

Returns the “default value” for a type. Read more
Source§

impl Expression for InsertQuery

Source§

fn write_sql(&self, w: &mut SqlWriter<'_>)

Append this fragment to w. Read more
Source§

impl HasConflict for InsertQuery

Source§

fn conflict_mut(&mut self) -> &mut Conflict

The conflict slot to modify.
Source§

impl HasReturning for InsertQuery

Source§

fn returning_mut(&mut self) -> &mut Returning

The RETURNING clause to modify.
Source§

impl HasTableRef for InsertQuery

Source§

fn table_ref_mut(&mut self) -> &mut TableRef

The table reference to modify.
Source§

impl HasValues for InsertQuery

Source§

fn values_mut(&mut self) -> &mut Values

The row source to modify.
Source§

impl HasWith for InsertQuery

Source§

fn with_mut(&mut self) -> &mut With

The WITH clause to modify.
Source§

impl IntoExpr for InsertQuery

Source§

fn into_expr(self) -> Expr

Perform the conversion.
Source§

impl IntoExprList for InsertQuery

Source§

fn into_expr_list(self) -> Vec<Expr>

Perform the conversion.
Source§

impl Query for InsertQuery

Source§

fn query_type(&self) -> QueryType

Which statement this renders.
Source§

fn dialect(&self) -> &dyn Dialect

The dialect this query renders itself in. Read more
Source§

fn build(&self) -> Result<(String, Vec<Value>), Error>

Render to SQL and arguments, numbering placeholders from 1. Read more
Source§

fn build_from(&self, start: usize) -> Result<(String, Vec<Value>), Error>

build with a different first placeholder position, for splicing into a statement that already has arguments — bob’s BuildN.
Source§

impl<H, L, M> QueryExtensions<H, L, M> for InsertQuery

Source§

fn hooks(&self) -> &[Hook]

Hooks to run before this query executes.
Source§

fn loaders(&self) -> &[Loader]

Loaders to run after this query executes, for eagerly loaded relations.
Source§

fn mapper_mods(&self) -> &[MapperMod]

Adjustments to the row mapper, for relations loaded in the same query.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.