Gate unparenthesized CREATE TABLE LIKE behind a dialect capability
diff --git a/src/dialect/bigquery.rs b/src/dialect/bigquery.rs
index d34be9a..0e8bff1 100644
--- a/src/dialect/bigquery.rs
+++ b/src/dialect/bigquery.rs
@@ -179,4 +179,9 @@
     fn supports_comma_separated_trim(&self) -> bool {
         true
     }
+
+    /// See <https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_like>
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
 }
diff --git a/src/dialect/databricks.rs b/src/dialect/databricks.rs
index ca8610d..aa760c7 100644
--- a/src/dialect/databricks.rs
+++ b/src/dialect/databricks.rs
@@ -137,4 +137,9 @@
     fn supports_pipe_operator(&self) -> bool {
         true
     }
+
+    /// See <https://docs.databricks.com/aws/en/sql/language-manual/sql-ref-syntax-ddl-create-table-like>
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
 }
diff --git a/src/dialect/generic.rs b/src/dialect/generic.rs
index 09a5518..14826d0 100644
--- a/src/dialect/generic.rs
+++ b/src/dialect/generic.rs
@@ -332,4 +332,8 @@
     fn supports_alter_column_position(&self) -> bool {
         true
     }
+
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
 }
diff --git a/src/dialect/hive.rs b/src/dialect/hive.rs
index 1a26f56..7b6a9ee 100644
--- a/src/dialect/hive.rs
+++ b/src/dialect/hive.rs
@@ -89,4 +89,9 @@
     fn supports_map_literal_with_angle_brackets(&self) -> bool {
         true
     }
+
+    /// See <https://hive.apache.org/docs/latest/language/languagemanual-ddl/>
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
 }
diff --git a/src/dialect/mod.rs b/src/dialect/mod.rs
index 2beb565..38f2c26 100644
--- a/src/dialect/mod.rs
+++ b/src/dialect/mod.rs
@@ -1644,17 +1644,14 @@
         false
     }
 
+    /// Returns true if the dialect supports `CREATE TABLE new LIKE old`, without parentheses.
+    fn supports_create_table_like_plain(&self) -> bool {
+        false
+    }
+
     /// Returns true if the dialect supports specifying which table to copy
     /// the schema from inside parenthesis.
     ///
-    /// Not parenthesized:
-    /// '''sql
-    /// CREATE TABLE new LIKE old ...
-    /// '''
-    /// [Snowflake](https://docs.snowflake.com/en/sql-reference/sql/create-table#label-create-table-like)
-    /// [BigQuery](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_like)
-    ///
-    /// Parenthesized:
     /// '''sql
     /// CREATE TABLE new (LIKE old ...)
     /// '''
diff --git a/src/dialect/mysql.rs b/src/dialect/mysql.rs
index 4bfa17a..c6607b0 100644
--- a/src/dialect/mysql.rs
+++ b/src/dialect/mysql.rs
@@ -140,6 +140,11 @@
         true
     }
 
+    /// See <https://dev.mysql.com/doc/refman/8.4/en/create-table-like.html>
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
+
     /// See: <https://dev.mysql.com/doc/refman/8.4/en/insert.html>
     fn supports_insert_set(&self) -> bool {
         true
diff --git a/src/dialect/snowflake.rs b/src/dialect/snowflake.rs
index 3ebc168..29706f9 100644
--- a/src/dialect/snowflake.rs
+++ b/src/dialect/snowflake.rs
@@ -225,6 +225,11 @@
         true
     }
 
+    /// See <https://docs.snowflake.com/en/sql-reference/sql/create-table#label-create-table-like>
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
+
     /// See [doc](https://docs.snowflake.com/en/sql-reference/functions/extract)
     fn supports_extract_comma_syntax(&self) -> bool {
         true
diff --git a/src/dialect/spark.rs b/src/dialect/spark.rs
index 024aec7..1b832d5 100644
--- a/src/dialect/spark.rs
+++ b/src/dialect/spark.rs
@@ -128,6 +128,11 @@
         true
     }
 
+    /// See <https://spark.apache.org/docs/latest/sql-ref-syntax-ddl-create-table-like.html>
+    fn supports_create_table_like_plain(&self) -> bool {
+        true
+    }
+
     /// Parse the `DIV` keyword as integer division.
     ///
     /// Example: `SELECT 10 DIV 3` returns `3`.
diff --git a/src/parser/mod.rs b/src/parser/mod.rs
index 1a46c6e..3251944 100644
--- a/src/parser/mod.rs
+++ b/src/parser/mod.rs
@@ -9084,7 +9084,9 @@
                 self.prev_token();
                 None
             }
-        } else if self.parse_keyword(Keyword::LIKE) || self.parse_keyword(Keyword::ILIKE) {
+        } else if self.dialect.supports_create_table_like_plain()
+            && (self.parse_keyword(Keyword::LIKE) || self.parse_keyword(Keyword::ILIKE))
+        {
             let name = self.parse_object_name(allow_unquoted_hyphen)?;
             Some(CreateTableLikeKind::Plain(CreateTableLike {
                 name,
diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs
index 8e08c65..1ed3269 100644
--- a/tests/sqlparser_common.rs
+++ b/tests/sqlparser_common.rs
@@ -18862,7 +18862,7 @@
 
 #[test]
 fn parse_create_table_like() {
-    let dialects = all_dialects_except(|d| d.supports_create_table_like_parenthesized());
+    let dialects = all_dialects_where(|d| d.supports_create_table_like_plain());
     let sql = "CREATE TABLE new LIKE old";
     match dialects.verified_stmt(sql) {
         Statement::CreateTable(stmt) => {
@@ -18880,6 +18880,14 @@
         }
         _ => unreachable!(),
     }
+    for keyword in ["LIKE", "ILIKE"] {
+        assert_eq!(
+            all_dialects_where(|d| !d.supports_create_table_like_plain())
+                .parse_sql_statements(&format!("CREATE TABLE new {keyword} old"))
+                .unwrap_err(),
+            ParserError::ParserError(format!("Expected: end of statement, found: {keyword}"))
+        );
+    }
     let dialects = all_dialects_where(|d| d.supports_create_table_like_parenthesized());
     let sql = "CREATE TABLE new (LIKE old)";
     match dialects.verified_stmt(sql) {