pub enum ColumnOption {
Show 23 variants
Null,
NotNull,
Default(Expr),
Materialized(Expr),
Ephemeral(Option<Expr>),
Alias(Expr),
PrimaryKey(PrimaryKeyConstraint),
Unique(UniqueConstraint),
ForeignKey(ForeignKeyConstraint),
Check(CheckConstraint),
DialectSpecific(Vec<Token>),
CharacterSet(ObjectName),
Collation(ObjectName),
Comment(String),
OnUpdate(Expr),
Generated {
generated_as: GeneratedAs,
sequence_options: Option<Vec<SequenceOptions>>,
generation_expr: Option<Expr>,
generation_expr_mode: Option<GeneratedExpressionMode>,
generated_keyword: bool,
},
Options(Vec<SqlOption>),
Identity(IdentityPropertyKind),
OnConflict(Keyword),
Policy(ColumnPolicy),
Tags(TagsColumnOption),
Srid(Box<Expr>),
Invisible,
}Expand description
ColumnOptions are modifiers that follow a column definition in a CREATE TABLE statement.
Variants§
Null
NULL
NotNull
NOT NULL
Default(Expr)
DEFAULT <restricted-expr>
Materialized(Expr)
MATERIALIZE <expr>
Syntax: b INT MATERIALIZE (a + 1)
Ephemeral(Option<Expr>)
EPHEMERAL [<expr>]
Alias(Expr)
ALIAS <expr>
PrimaryKey(PrimaryKeyConstraint)
PRIMARY KEY [<constraint_characteristics>]
Unique(UniqueConstraint)
UNIQUE [<constraint_characteristics>]
ForeignKey(ForeignKeyConstraint)
A referential integrity constraint (REFERENCES <foreign_table> (<referred_columns>) [ MATCH { FULL | PARTIAL | SIMPLE } ] { [ON DELETE <referential_action>] [ON UPDATE <referential_action>] | [ON UPDATE <referential_action>] [ON DELETE <referential_action>] } [<constraint_characteristics>] ).
Check(CheckConstraint)
CHECK (<expr>)
DialectSpecific(Vec<Token>)
Dialect-specific options, such as:
- MySQL’s
AUTO_INCREMENTor SQLite’sAUTOINCREMENT - …
CharacterSet(ObjectName)
CHARACTER SET <name> column option
Collation(ObjectName)
COLLATE <name> column option
Comment(String)
COMMENT '<text>' column option
OnUpdate(Expr)
ON UPDATE <expr> column option
Generated
Generateds are modifiers that follow a column definition in a CREATE TABLE statement.
Fields
generated_as: GeneratedAsHow the column is generated (e.g. GENERATED ALWAYS, BY DEFAULT, or expression-stored).
sequence_options: Option<Vec<SequenceOptions>>Sequence/identity options when generation is backed by a sequence.
generation_expr_mode: Option<GeneratedExpressionMode>Mode of the generated expression (VIRTUAL or STORED) when generation_expr is present.
Options(Vec<SqlOption>)
BigQuery specific: Explicit column options in a view 1 or table 2 Syntax
OPTIONS(description="field desc")Identity(IdentityPropertyKind)
Creates an identity or an autoincrement column in a table. Syntax
{ IDENTITY | AUTOINCREMENT } [ (seed , increment) | START num INCREMENT num ] [ ORDER | NOORDER ]OnConflict(Keyword)
SQLite specific: ON CONFLICT option on column definition https://www.sqlite.org/lang_conflict.html
Policy(ColumnPolicy)
Snowflake specific: an option of specifying security masking or projection policy to set on a column. Syntax:
[ WITH ] MASKING POLICY <policy_name> [ USING ( <col_name> , <cond_col1> , ... ) ]
[ WITH ] PROJECTION POLICY <policy_name>Tags(TagsColumnOption)
Snowflake specific: Specifies the tag name and the tag string value. Syntax:
[ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] )Srid(Box<Expr>)
MySQL specific: Spatial reference identifier Syntax:
CREATE TABLE geom (g GEOMETRY NOT NULL SRID 4326);Invisible
MySQL specific: Column is invisible via SELECT * Syntax:
CREATE TABLE t (foo INT, bar INT INVISIBLE);Trait Implementations§
Source§impl Clone for ColumnOption
impl Clone for ColumnOption
Source§fn clone(&self) -> ColumnOption
fn clone(&self) -> ColumnOption
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ColumnOption
impl Debug for ColumnOption
Source§impl Display for ColumnOption
impl Display for ColumnOption
Source§impl From<CheckConstraint> for ColumnOption
impl From<CheckConstraint> for ColumnOption
Source§fn from(c: CheckConstraint) -> Self
fn from(c: CheckConstraint) -> Self
Source§impl From<ForeignKeyConstraint> for ColumnOption
impl From<ForeignKeyConstraint> for ColumnOption
Source§fn from(fk: ForeignKeyConstraint) -> Self
fn from(fk: ForeignKeyConstraint) -> Self
Source§impl From<PrimaryKeyConstraint> for ColumnOption
impl From<PrimaryKeyConstraint> for ColumnOption
Source§fn from(c: PrimaryKeyConstraint) -> Self
fn from(c: PrimaryKeyConstraint) -> Self
Source§impl From<UniqueConstraint> for ColumnOption
impl From<UniqueConstraint> for ColumnOption
Source§fn from(c: UniqueConstraint) -> Self
fn from(c: UniqueConstraint) -> Self
Source§impl Hash for ColumnOption
impl Hash for ColumnOption
Source§impl Ord for ColumnOption
impl Ord for ColumnOption
Source§fn cmp(&self, other: &ColumnOption) -> Ordering
fn cmp(&self, other: &ColumnOption) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ColumnOption
impl PartialEq for ColumnOption
Source§impl PartialOrd for ColumnOption
impl PartialOrd for ColumnOption
Source§impl Spanned for ColumnOption
§partial span
Missing spans:
impl Spanned for ColumnOption
§partial span
Missing spans:
Source§impl Visit for ColumnOption
impl Visit for ColumnOption
Source§impl VisitMut for ColumnOption
impl VisitMut for ColumnOption
Source§fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
VisitorMut. Read more