pub struct InsertStatement { /* private fields */ }Expand description
Insert any new rows into an existing table
ยงExamples
use sea_query::{audit::*, tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.values_panic([5.15.into(), "12A".into()])
.values_panic([4.21.into(), "123".into()])
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`aspect`, `image`) VALUES (5.15, '12A'), (4.21, '123')"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (5.15, '12A'), (4.21, '123')"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (5.15, '12A'), (4.21, '123')"#
);
assert_eq!(
query.audit().unwrap().inserted_tables(),
[Glyph::Table.into_iden()]
);Implementationsยง
Sourceยงimpl InsertStatement
impl InsertStatement
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct a new InsertStatement
Sourcepub fn take(&mut self) -> Self
pub fn take(&mut self) -> Self
Take the ownership of data in the current SelectStatement
Sourcepub fn replace(&mut self) -> &mut Self
Available on crate features backend-sqlite or backend-mysql only.
pub fn replace(&mut self) -> &mut Self
backend-sqlite or backend-mysql only.Use REPLACE instead of INSERT
ยงExamples
use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.replace()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.values_panic([5.15.into(), "12A".into()])
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"REPLACE INTO `glyph` (`aspect`, `image`) VALUES (5.15, '12A')"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"REPLACE INTO "glyph" ("aspect", "image") VALUES (5.15, '12A')"#
);Sourcepub fn into_table<T>(&mut self, tbl_ref: T) -> &mut Selfwhere
T: IntoTableRef,
pub fn into_table<T>(&mut self, tbl_ref: T) -> &mut Selfwhere
T: IntoTableRef,
Sourcepub fn columns<C, I>(&mut self, columns: I) -> &mut Selfwhere
C: IntoIden,
I: IntoIterator<Item = C>,
pub fn columns<C, I>(&mut self, columns: I) -> &mut Selfwhere
C: IntoIden,
I: IntoIterator<Item = C>,
Sourcepub fn select_from<S>(&mut self, select: S) -> Result<&mut Self>where
S: Into<SelectStatement>,
pub fn select_from<S>(&mut self, select: S) -> Result<&mut Self>where
S: Into<SelectStatement>,
Specify a select query whose values to be inserted.
ยงExamples
use sea_query::{audit::*, tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.select_from(Query::select()
.column(Glyph::Aspect)
.column(Glyph::Image)
.from(Glyph::Table)
.and_where(Expr::col(Glyph::Image).like("0%"))
.take()
)
.unwrap()
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`aspect`, `image`) SELECT `aspect`, `image` FROM `glyph` WHERE `image` LIKE '0%'"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") SELECT "aspect", "image" FROM "glyph" WHERE "image" LIKE '0%'"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") SELECT "aspect", "image" FROM "glyph" WHERE "image" LIKE '0%'"#
);
assert_eq!(
query.audit().unwrap().selected_tables(),
[Glyph::Table.into_iden()]
);
assert_eq!(
query.audit().unwrap().inserted_tables(),
[Glyph::Table.into_iden()]
);use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Image])
.select_from(
Query::select()
.expr(Expr::val("hello"))
.cond_where(Cond::all().not().add(Expr::exists(
Query::select().expr(Expr::val("world")).take(),
)))
.take(),
)
.unwrap()
.take();
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") SELECT 'hello' WHERE NOT EXISTS(SELECT 'world')"#
);use sea_query::{audit::*, tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Image])
.select_from(
Query::select()
.expr(Expr::col(Font::Name))
.from(Font::Table)
.take(),
)
.unwrap()
.take();
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") SELECT "name" FROM "font""#
);
assert_eq!(
query.audit().unwrap().selected_tables(),
[Font::Table.into_iden()]
);
assert_eq!(
query.audit().unwrap().inserted_tables(),
[Glyph::Table.into_iden()]
);Sourcepub fn values<I>(&mut self, values: I) -> Result<&mut Self>where
I: IntoIterator<Item = Expr>,
pub fn values<I>(&mut self, values: I) -> Result<&mut Self>where
I: IntoIterator<Item = Expr>,
Specify a row of values to be inserted.
Return error when number of values not matching number of columns.
ยงExamples
use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.values([
2.into(),
Func::cast_as("2020-02-02 00:00:00", "DATE").into(),
])
.unwrap()
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`aspect`, `image`) VALUES (2, CAST('2020-02-02 00:00:00' AS DATE))"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (2, CAST('2020-02-02 00:00:00' AS DATE))"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (2, CAST('2020-02-02 00:00:00' AS DATE))"#
);
assert!(
Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.values([1.into()])
.is_err()
);Sourcepub fn values_panic<I>(&mut self, values: I) -> &mut Selfwhere
I: IntoIterator<Item = Expr>,
pub fn values_panic<I>(&mut self, values: I) -> &mut Selfwhere
I: IntoIterator<Item = Expr>,
Specify a row of values to be inserted, variation of InsertStatement::values.
ยงPanics
Panics when number of values not matching number of columns.
ยงExamples
use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.values_panic([2.1345.into(), "24B".into()])
.values_panic([5.15.into(), "12A".into()])
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`aspect`, `image`) VALUES (2.1345, '24B'), (5.15, '12A')"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (2.1345, '24B'), (5.15, '12A')"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (2.1345, '24B'), (5.15, '12A')"#
);let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect])
.values_panic([2.1345.into(), "24B".into()])
.take();The same query can be constructed using the raw_query! macro.
use sea_query::Values;
let values = vec![(2.1345, "24B"), (5.15, "12A")];
let query = sea_query::raw_query!(
PostgresQueryBuilder,
r#"INSERT INTO "glyph" ("aspect", "image") VALUES {..(values.0:1),}"#
);
assert_eq!(
query.sql,
r#"INSERT INTO "glyph" ("aspect", "image") VALUES ($1, $2), ($3, $4)"#
);
assert_eq!(
query.values,
Values(vec![2.1345.into(), "24B".into(), 5.15.into(), "12A".into()])
);
// same as above but with named fields:
struct Item<'a> {
aspect: f64,
image: &'a str,
};
let values = vec![
Item {
aspect: 2.1345,
image: "24B",
},
Item {
aspect: 5.15,
image: "12A",
},
];
let new_query = sea_query::raw_query!(
PostgresQueryBuilder,
r#"INSERT INTO "glyph" ("aspect", "image") VALUES {..(values.aspect, values.image),}"#
);
assert_eq!(query.sql, new_query.sql);
assert_eq!(query.values, new_query.values);Sourcepub fn values_from_panic<I, J>(&mut self, values_iter: J) -> &mut Self
pub fn values_from_panic<I, J>(&mut self, values_iter: J) -> &mut Self
Add rows to be inserted from an iterator, variation of InsertStatement::values_panic.
ยงExamples
use sea_query::{audit::*, tests_cfg::*, *};
let rows = vec![[2.1345.into(), "24B".into()], [5.15.into(), "12A".into()]];
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Aspect, Glyph::Image])
.values_from_panic(rows)
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`aspect`, `image`) VALUES (2.1345, '24B'), (5.15, '12A')"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (2.1345, '24B'), (5.15, '12A')"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("aspect", "image") VALUES (2.1345, '24B'), (5.15, '12A')"#
);
assert_eq!(
query.audit().unwrap().inserted_tables(),
[Glyph::Table.into_iden()]
);Sourcepub fn on_conflict(&mut self, on_conflict: OnConflict) -> &mut Self
pub fn on_conflict(&mut self, on_conflict: OnConflict) -> &mut Self
ON CONFLICT expression
ยงExamples
OnConflict::update_columns: Update column value of existing row with inserting value- [
OnConflict::update_values]: Update column value of existing row with value - [
OnConflict::update_exprs]: Update column value of existing row with expression
Sourcepub fn returning(&mut self, returning: ReturningClause) -> &mut Self
pub fn returning(&mut self, returning: ReturningClause) -> &mut Self
RETURNING expressions.
ยงExamples
use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Image])
.values_panic(["12A".into()])
.returning(Query::returning().columns([Glyph::Id]))
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
"INSERT INTO `glyph` (`image`) VALUES ('12A')"
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('12A') RETURNING "id""#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('12A') RETURNING "id""#
);Sourcepub fn returning_col<C>(&mut self, col: C) -> &mut Selfwhere
C: IntoColumnRef,
pub fn returning_col<C>(&mut self, col: C) -> &mut Selfwhere
C: IntoColumnRef,
RETURNING expressions for a column.
ยงExamples
use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Image])
.values_panic(["12A".into()])
.returning_col(Glyph::Id)
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
"INSERT INTO `glyph` (`image`) VALUES ('12A')"
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('12A') RETURNING "id""#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('12A') RETURNING "id""#
);Sourcepub fn returning_all(&mut self) -> &mut Self
pub fn returning_all(&mut self) -> &mut Self
RETURNING expressions all columns.
ยงExamples
use sea_query::{tests_cfg::*, *};
let query = Query::insert()
.into_table(Glyph::Table)
.columns([Glyph::Image])
.values_panic(["12A".into()])
.returning_all()
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
"INSERT INTO `glyph` (`image`) VALUES ('12A')"
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('12A') RETURNING *"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('12A') RETURNING *"#
);Sourcepub fn with(self, clause: WithClause) -> WithQuery
pub fn with(self, clause: WithClause) -> WithQuery
Create a WithQuery by specifying a WithClause to execute this query with.
ยงExamples
use sea_query::{*, IntoCondition, IntoIden, tests_cfg::*};
let select = SelectStatement::new()
.columns([Glyph::Id, Glyph::Image, Glyph::Aspect])
.from(Glyph::Table)
.take();
let cte = CommonTableExpression::new()
.query(select)
.column(Glyph::Id)
.column(Glyph::Image)
.column(Glyph::Aspect)
.table_name("cte")
.to_owned();
let with_clause = WithClause::new().cte(cte).to_owned();
let select = SelectStatement::new()
.columns([Glyph::Id, Glyph::Image, Glyph::Aspect])
.from("cte")
.take();
let mut insert = Query::insert();
insert
.into_table(Glyph::Table)
.columns([Glyph::Id, Glyph::Image, Glyph::Aspect])
.select_from(select)
.unwrap();
let query = insert.with(with_clause);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"WITH `cte` (`id`, `image`, `aspect`) AS (SELECT `id`, `image`, `aspect` FROM `glyph`) INSERT INTO `glyph` (`id`, `image`, `aspect`) SELECT `id`, `image`, `aspect` FROM `cte`"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"WITH "cte" ("id", "image", "aspect") AS (SELECT "id", "image", "aspect" FROM "glyph") INSERT INTO "glyph" ("id", "image", "aspect") SELECT "id", "image", "aspect" FROM "cte""#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"WITH "cte" ("id", "image", "aspect") AS (SELECT "id", "image", "aspect" FROM "glyph") INSERT INTO "glyph" ("id", "image", "aspect") SELECT "id", "image", "aspect" FROM "cte""#
);Sourcepub fn with_cte<C: Into<WithClause>>(&mut self, clause: C) -> &mut Self
pub fn with_cte<C: Into<WithClause>>(&mut self, clause: C) -> &mut Self
Create a Common Table Expression by specifying a [CommonTableExpression] or WithClause to execute this query with.
ยงExamples
use sea_query::{*, IntoCondition, IntoIden, tests_cfg::*};
let select = SelectStatement::new()
.columns([Glyph::Id, Glyph::Image, Glyph::Aspect])
.from(Glyph::Table)
.take();
let cte = CommonTableExpression::new()
.query(select)
.column(Glyph::Id)
.column(Glyph::Image)
.column(Glyph::Aspect)
.table_name("cte")
.to_owned();
let with_clause = WithClause::new().cte(cte).to_owned();
let select = SelectStatement::new()
.columns([Glyph::Id, Glyph::Image, Glyph::Aspect])
.from("cte")
.take();
let mut query = Query::insert();
query
.with_cte(with_clause)
.into_table(Glyph::Table)
.columns([Glyph::Id, Glyph::Image, Glyph::Aspect])
.select_from(select)
.unwrap();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"WITH `cte` (`id`, `image`, `aspect`) AS (SELECT `id`, `image`, `aspect` FROM `glyph`) INSERT INTO `glyph` (`id`, `image`, `aspect`) SELECT `id`, `image`, `aspect` FROM `cte`"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"WITH "cte" ("id", "image", "aspect") AS (SELECT "id", "image", "aspect" FROM "glyph") INSERT INTO "glyph" ("id", "image", "aspect") SELECT "id", "image", "aspect" FROM "cte""#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"WITH "cte" ("id", "image", "aspect") AS (SELECT "id", "image", "aspect" FROM "glyph") INSERT INTO "glyph" ("id", "image", "aspect") SELECT "id", "image", "aspect" FROM "cte""#
);Sourcepub fn or_default_values(&mut self) -> &mut Self
pub fn or_default_values(&mut self) -> &mut Self
Insert with default values if columns and values are not supplied.
ยงExamples
use sea_query::{tests_cfg::*, *};
// Insert default
let query = Query::insert()
.into_table(Glyph::Table)
.or_default_values()
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` VALUES ()"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" VALUES (DEFAULT)"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" DEFAULT VALUES"#
);
// Ordinary insert as columns and values are supplied
let query = Query::insert()
.into_table(Glyph::Table)
.or_default_values()
.columns([Glyph::Image])
.values_panic(["ABC".into()])
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`image`) VALUES ('ABC')"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('ABC')"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('ABC')"#
);Sourcepub fn or_default_values_many(&mut self, num_rows: u32) -> &mut Self
pub fn or_default_values_many(&mut self, num_rows: u32) -> &mut Self
Insert multiple rows with default values if columns and values are not supplied.
ยงExamples
use sea_query::{tests_cfg::*, *};
// Insert default
let query = Query::insert()
.into_table(Glyph::Table)
.or_default_values_many(3)
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` VALUES (), (), ()"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" VALUES (DEFAULT), (DEFAULT), (DEFAULT)"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" DEFAULT VALUES"#
);
// Ordinary insert as columns and values are supplied
let query = Query::insert()
.into_table(Glyph::Table)
.or_default_values_many(3)
.columns([Glyph::Image])
.values_panic(["ABC".into()])
.take();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"INSERT INTO `glyph` (`image`) VALUES ('ABC')"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('ABC')"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"INSERT INTO "glyph" ("image") VALUES ('ABC')"#
);Sourceยงimpl InsertStatement
impl InsertStatement
Sourcepub fn build_collect_any_into(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
)
pub fn build_collect_any_into( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, )
Sourcepub fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
pub fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
Sourcepub fn build_collect_any(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
) -> String
pub fn build_collect_any( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, ) -> String
Sourceยงimpl InsertStatement
impl InsertStatement
Sourcepub fn build_collect_into<T: QueryBuilder>(
&self,
query_builder: T,
sql: &mut impl SqlWriter,
)
pub fn build_collect_into<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, )
Sourcepub fn build_collect<T: QueryBuilder>(
&self,
query_builder: T,
sql: &mut impl SqlWriter,
) -> String
pub fn build_collect<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, ) -> String
Sourcepub fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
pub fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
Sourcepub fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
pub fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
Trait Implementationsยง
Sourceยงimpl AuditTrait for InsertStatement
Available on crate feature audit only.
impl AuditTrait for InsertStatement
audit only.fn audit(&self) -> Result<QueryAccessAudit, Error>
Sourceยงfn audit_unwrap(&self) -> QueryAccessAudit
fn audit_unwrap(&self) -> QueryAccessAudit
audit().unwrap()Sourceยงimpl Clone for InsertStatement
impl Clone for InsertStatement
Sourceยงfn clone(&self) -> InsertStatement
fn clone(&self) -> InsertStatement
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSourceยงimpl Debug for InsertStatement
impl Debug for InsertStatement
Sourceยงimpl Default for InsertStatement
impl Default for InsertStatement
Sourceยงfn default() -> InsertStatement
fn default() -> InsertStatement
Sourceยงimpl From<InsertStatement> for Expr
impl From<InsertStatement> for Expr
Sourceยงfn from(v: InsertStatement) -> Self
fn from(v: InsertStatement) -> Self
Sourceยงimpl From<InsertStatement> for QueryStatement
impl From<InsertStatement> for QueryStatement
Sourceยงfn from(s: InsertStatement) -> Self
fn from(s: InsertStatement) -> Self
Sourceยงimpl From<InsertStatement> for SubQueryStatement
impl From<InsertStatement> for SubQueryStatement
Sourceยงfn from(s: InsertStatement) -> Self
fn from(s: InsertStatement) -> Self
Sourceยงimpl PartialEq for InsertStatement
impl PartialEq for InsertStatement
Sourceยงimpl QueryStatementBuilder for InsertStatement
impl QueryStatementBuilder for InsertStatement
Sourceยงfn build_collect_any_into(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
)
fn build_collect_any_into( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, )
Sourceยงfn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
Sourceยงfn build_collect_any(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
) -> String
fn build_collect_any( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, ) -> String
fn into_sub_query_statement(self) -> SubQueryStatement
Sourceยงimpl QueryStatementWriter for InsertStatement
impl QueryStatementWriter for InsertStatement
fn build_collect_into<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, )
Sourceยงfn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
Sourceยงfn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
Sourceยงfn build_collect<T: QueryBuilder>(
&self,
query_builder: T,
sql: &mut impl SqlWriter,
) -> String
fn build_collect<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, ) -> String
impl StructuralPartialEq for InsertStatement
Auto Trait Implementationsยง
impl Freeze for InsertStatement
impl RefUnwindSafe for InsertStatement
impl Send for InsertStatement
impl Sync for InsertStatement
impl Unpin for InsertStatement
impl UnwindSafe for InsertStatement
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
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<T> ExprTrait for T
impl<T> ExprTrait for T
Sourceยงfn as_enum<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
fn as_enum<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
AS enum expression. Read moreSourceยงfn cast_as<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
fn cast_as<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
CAST AS expression. Read moreSourceยงfn equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
fn equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
Sourceยงfn in_subquery(self, sel: SelectStatement) -> Expr
fn in_subquery(self, sel: SelectStatement) -> Expr
IN sub-query expression. Read moreSourceยงfn in_tuples<V, I>(self, v: I) -> Exprwhere
V: IntoValueTuple,
I: IntoIterator<Item = V>,
fn in_tuples<V, I>(self, v: I) -> Exprwhere
V: IntoValueTuple,
I: IntoIterator<Item = V>,
IN sub expression. Read moreSourceยงfn is_not_null(self) -> Expr
fn is_not_null(self) -> Expr
IS NOT NULL expression. Read moreSourceยงfn left_shift<R>(self, right: R) -> Expr
fn left_shift<R>(self, right: R) -> Expr
Sourceยงfn not_between<A, B>(self, a: A, b: B) -> Expr
fn not_between<A, B>(self, a: A, b: B) -> Expr
NOT BETWEEN expression. Read moreSourceยงfn not_equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
fn not_equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
Sourceยงfn not_in_subquery(self, sel: SelectStatement) -> Expr
fn not_in_subquery(self, sel: SelectStatement) -> Expr
NOT IN sub-query expression. Read moreSourceยงfn not_like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn not_like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
NOT LIKE expression. Read moreSourceยงfn right_shift<R>(self, right: R) -> Expr
fn right_shift<R>(self, right: R) -> Expr
Sourceยงimpl<T> PgExpr for Twhere
T: ExprTrait,
impl<T> PgExpr for Twhere
T: ExprTrait,
Sourceยงfn concatenate<T>(self, right: T) -> Expr
fn concatenate<T>(self, right: T) -> Expr
backend-postgres only.||) expression. Read moreSourceยงfn concat<T>(self, right: T) -> Expr
fn concat<T>(self, right: T) -> Expr
backend-postgres only.PgExpr::concatenateSourceยงfn matches<T>(self, expr: T) -> Expr
fn matches<T>(self, expr: T) -> Expr
backend-postgres only.@@) expression. Read moreSourceยงfn contains<T>(self, expr: T) -> Expr
fn contains<T>(self, expr: T) -> Expr
backend-postgres only.@>) expression. Read moreSourceยงfn contained<T>(self, expr: T) -> Expr
fn contained<T>(self, expr: T) -> Expr
backend-postgres only.<@) expression. Read moreSourceยงfn ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
backend-postgres only.ILIKE expression. Read moreSourceยงfn not_ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn not_ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
backend-postgres only.NOT ILIKE expressionSourceยงfn get_json_field<T>(self, right: T) -> Expr
fn get_json_field<T>(self, right: T) -> Expr
backend-postgres only.->). Read moreSourceยงimpl<T> SqliteExpr for Twhere
T: ExprTrait,
impl<T> SqliteExpr for Twhere
T: ExprTrait,
Sourceยงfn glob<T>(self, right: T) -> Expr
fn glob<T>(self, right: T) -> Expr
backend-sqlite only.GLOB operator. Read moreSourceยงfn matches<T>(self, right: T) -> Expr
fn matches<T>(self, right: T) -> Expr
backend-sqlite only.MATCH operator. Read moreSourceยงfn get_json_field<T>(self, right: T) -> Expr
fn get_json_field<T>(self, right: T) -> Expr
backend-sqlite only.->). Read more