CREATE TABLE article ( id INT, title STRING, type STRING, data_time INT, source STRING, content STRING, PRIMARY KEY (id)) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','TBLPROPERTIES ("constraint"="NOT_ENFORCED"); FAILED: SemanticException [Error 10326]: Invalid Constraint syntax ENABLE/ENFORCED feature not supported yet. Please use DISABLE/NOT ENFORCED instead.
时间: 2023-12-06 08:44:09 浏览: 85
这是一个Hive的SQL语句,其中主要是创建了一个名为article的表,并指定了它的列和主键。但是,在TBLPROPERTIES中的约束(constraint)语法是无效的,因为Hive不支持启用(enable)或强制执行(enforced)约束。应该使用DISABLE或NOT_ENFORCED来代替。因此,正确的SQL语句应该是:
CREATE TABLE article (
id INT,
title STRING,
type STRING,
data_time INT,
source STRING,
content STRING,
PRIMARY KEY (id)
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
TBLPROPERTIES ("constraint"="NOT_ENFORCED");
相关问题
create table article( id int, title string, type string, data_time int, source string, content string, primary key (id) DISABLED) > ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; FAILED: ParseException line 1:133 extraneous input 'DISABLED' expecting ) near '<EOF>'
在创建表时,`DISABLED`是不必要的关键字,因此需要将其移除。下面是正确的语法:
```
create table article(
id int,
title string,
type string,
data_time int,
source string,
content string,
primary key (id)
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
```
在这个语法中,我们通过使用 `ROW FORMAT DELIMITED FIELDS TERMINATED BY ','` 来指定行的分隔符以及列的分隔符。同时,我们将 `primary key` 作为表的一部分来定义,以确保 `id` 列成为表的主键。
CREATE TABLE article ( id INT, title STRING, type STRING, data_time INT, source STRING, content STRING, PRIMARY KEY (id)) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','TBLPROPERTIES ("CONSTRAINT"="PRIMARY KEY (id) DISABLE NOVALIDATE"); FAILED: SemanticException [Error 10326]: Invalid Constraint syntax ENABLE/ENFORCED feature not supported yet. Please use DISABLE/NOT ENFORCED instead. hive> CREATE TABLE article ( id INT, title STRING, type STRING, data_time INT, source STRING, content STRING, PRIMARY KEY (id)) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' TBLPROPERTIES ("CONSTRAINT"="PRIMARY KEY (id) NOT ENFORCED"); FAILED: SemanticException [Error 10326]: Invalid Constraint syntax ENABLE/ENFORCED feature not supported yet. Please use DISABLE/NOT ENFORCED instead.
在创建表时,Hive不支持启用或强制执行约束。你需要使用`DISABLE`或`NOT ENFORCED`关键字来替换`ENABLE`或`ENFORCED`关键字。下面是正确的创建表的语法:
```
CREATE TABLE article (
id INT,
title STRING,
type STRING,
data_time INT,
source STRING,
content STRING,
PRIMARY KEY (id)
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
TBLPROPERTIES ("CONSTRAINT"="PRIMARY KEY (id) DISABLE NOVALIDATE");
```
或者,你可以省略`TBLPROPERTIES`部分,如下所示:
```
CREATE TABLE article (
id INT,
title STRING,
type STRING,
data_time INT,
source STRING,
content STRING,
PRIMARY KEY (id) DISABLE NOVALIDATE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
```
这将创建一个名为`article`的表,并将`id`列指定为主键。`DISABLE NOVALIDATE`选项将禁用约束验证,以便在插入数据时可以使用非唯一的`id`值。