Function diesel::insert_or_ignore_into
source · pub fn insert_or_ignore_into<T: Table>(
target: T
) -> IncompleteInsertOrIgnoreStatement<T>
Expand description
Creates an INSERT [OR] IGNORE
statement.
If a constraint violation fails, the database will ignore the offending row and continue processing any subsequent rows. This function is only available with MySQL and SQLite.
With PostgreSQL, similar functionality is provided by on_conflict_do_nothing
.
§Example
insert_or_ignore_into(users)
.values((id.eq(1), name.eq("Jim")))
.execute(connection)?;
insert_or_ignore_into(users)
.values(&vec![
(id.eq(1), name.eq("Sean")),
(id.eq(2), name.eq("Tess")),
])
.execute(connection)?;
let names = users.select(name).order(id).load::<String>(connection)?;
assert_eq!(vec![String::from("Jim"), String::from("Tess")], names);