@@ -3469,6 +3469,27 @@ fn parse_create_table_unallow_constraint_then_index() {
34693469 assert ! ( mysql_and_generic( ) . parse_sql_statements( sql) . is_ok( ) ) ;
34703470}
34713471
3472+ #[ test]
3473+ fn parse_create_table_constraint_check_without_name ( ) {
3474+ let dialects = all_dialects_where ( |d| d. supports_constraint_keyword_without_name ( ) ) ;
3475+ dialects. one_statement_parses_to (
3476+ "CREATE TABLE t (x INT, CONSTRAINT PRIMARY KEY (x))" ,
3477+ "CREATE TABLE t (x INT, PRIMARY KEY (x))" ,
3478+ ) ;
3479+ dialects. one_statement_parses_to (
3480+ "CREATE TABLE t (x INT, CONSTRAINT UNIQUE (x))" ,
3481+ "CREATE TABLE t (x INT, UNIQUE (x))" ,
3482+ ) ;
3483+ dialects. one_statement_parses_to (
3484+ "CREATE TABLE t (x INT, CONSTRAINT FOREIGN KEY (x) REFERENCES t2(id))" ,
3485+ "CREATE TABLE t (x INT, FOREIGN KEY (x) REFERENCES t2(id))" ,
3486+ ) ;
3487+ dialects. one_statement_parses_to (
3488+ "CREATE TABLE t (x INT, CONSTRAINT CHECK (x > 1))" ,
3489+ "CREATE TABLE t (x INT, CHECK (x > 1))" ,
3490+ ) ;
3491+ }
3492+
34723493#[ test]
34733494fn parse_create_table_with_fulltext_definition ( ) {
34743495 mysql_and_generic ( ) . verified_stmt ( "CREATE TABLE tb (id INT, FULLTEXT (id))" ) ;
0 commit comments