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<'de> Deserialize<'de> for ColumnOption
impl<'de> Deserialize<'de> for ColumnOption
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 Serialize for ColumnOption
impl Serialize 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