pub enum TableConstraint {
Unique(UniqueConstraint),
PrimaryKey(PrimaryKeyConstraint),
ForeignKey(ForeignKeyConstraint),
Check(CheckConstraint),
Index(IndexConstraint),
FulltextOrSpatial(FullTextOrSpatialConstraint),
}Expand description
A table-level constraint, specified in a CREATE TABLE or an
ALTER TABLE ADD <constraint> statement.
Variants§
Unique(UniqueConstraint)
MySQL definition for UNIQUE constraints statements:\
[CONSTRAINT [<name>]] UNIQUE <index_type_display> [<index_name>] [index_type] (<columns>) <index_options>
where:
- index_type is
USING {BTREE | HASH} - index_options is
{index_type | COMMENT 'string' | ... %currently unsupported stmts% } ... - index_type_display is
[INDEX | KEY]
PrimaryKey(PrimaryKeyConstraint)
MySQL definition for PRIMARY KEY constraints statements:\
[CONSTRAINT [<name>]] PRIMARY KEY [index_name] [index_type] (<columns>) <index_options>
Actually the specification have no [index_name] but the next query will complete successfully:
CREATE TABLE unspec_table (
xid INT NOT NULL,
CONSTRAINT p_name PRIMARY KEY index_name USING BTREE (xid)
);where:
- index_type is
USING {BTREE | HASH} - index_options is
{index_type | COMMENT 'string' | ... %currently unsupported stmts% } ...
ForeignKey(ForeignKeyConstraint)
A referential integrity constraint ([ CONSTRAINT <name> ] FOREIGN KEY (<columns>) REFERENCES <foreign_table> (<referred_columns>) { [ON DELETE <referential_action>] [ON UPDATE <referential_action>] | [ON UPDATE <referential_action>] [ON DELETE <referential_action>] }).
Check(CheckConstraint)
[ CONSTRAINT <name> ] CHECK (<expr>) [[NOT] ENFORCED]
Index(IndexConstraint)
MySQLs index definition for index creation. Not present on ANSI so, for now, the usage is restricted to MySQL, as no other dialects that support this syntax were found.
{INDEX | KEY} [index_name] [index_type] (key_part,...) [index_option]...
FulltextOrSpatial(FullTextOrSpatialConstraint)
Trait Implementations§
Source§impl Clone for TableConstraint
impl Clone for TableConstraint
Source§fn clone(&self) -> TableConstraint
fn clone(&self) -> TableConstraint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more