pub enum ColumnOption {
Null,
NotNull,
DefaultValue(Expr),
DefaultValueInternal {
persisted: Box<[u8]>,
expr: Option<Expr>,
},
Unique {
is_primary: bool,
},
ForeignKey {
foreign_table: ObjectName,
referred_columns: Vec<Ident>,
on_delete: Option<ReferentialAction>,
on_update: Option<ReferentialAction>,
},
Check(Expr),
DialectSpecific(Vec<Token>),
GeneratedColumns(Expr),
}Expand description
ColumnOptions are modifiers that follow a column definition in a CREATE TABLE statement.
Variants§
Null
NULL
NotNull
NOT NULL
DefaultValue(Expr)
DEFAULT <restricted-expr>
DefaultValueInternal
Default value from previous bound DefaultColumnDesc. Used internally
for schema change and should not be specified by users.
Fields
Unique
{ PRIMARY KEY | UNIQUE }
ForeignKey
A referential integrity constraint ([FOREIGN KEY REFERENCES <foreign_table> (<referred_columns>) { [ON DELETE <referential_action>] [ON UPDATE <referential_action>] | [ON UPDATE <referential_action>] [ON DELETE <referential_action>] }).
Fields
§
foreign_table: ObjectName§
on_delete: Option<ReferentialAction>§
on_update: Option<ReferentialAction>Check(Expr)
CHECK (<expr>)
DialectSpecific(Vec<Token>)
Dialect-specific options, such as:
- MySQL’s
AUTO_INCREMENTor SQLite’sAUTOINCREMENT - …
GeneratedColumns(Expr)
AS ( <generation_expr> )`
Trait Implementations§
Source§impl Clone for ColumnOption
impl Clone for ColumnOption
Source§fn clone(&self) -> ColumnOption
fn clone(&self) -> ColumnOption
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ColumnOption
impl Debug for ColumnOption
Source§impl Display for ColumnOption
impl Display for ColumnOption
Source§impl Hash for ColumnOption
impl Hash for ColumnOption
Source§impl PartialEq for ColumnOption
impl PartialEq for ColumnOption
impl Eq for ColumnOption
impl StructuralPartialEq for ColumnOption
Auto Trait Implementations§
impl Freeze for ColumnOption
impl RefUnwindSafe for ColumnOption
impl Send for ColumnOption
impl Sync for ColumnOption
impl Unpin for ColumnOption
impl UnwindSafe for ColumnOption
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more