我想创建一个 table 但无法创建它

i want to create a table but bot able to create it

我想用 NOT NULL 属性 在配置单元中创建一个 table,但我无法创建它。它会说 "ParseException line 1:44 mismatched input 'NOT' expecting ) near ')' in create table statement".

我试过使用主键选项,但它会给出同样的错误

create table AGENTS(agent_code varchar(10) NOT NULL ,
        agent_name varchar(40),
        working_area varchar(30),
        commission double(10,5),
        phone_no int(15),
        country varchar(25));

检查您的 Hive 版本。与大多数数据库一样,旧版本的 Hive 不支持 NOT NULL 约束。 NOT NULL约束是从3.0.0版本开始引入的。

参考:https://issues.apache.org/jira/browse/HIVE-16575

我认为 Hive 不支持 double 具有比例和精度参数。而且,我认为 int 没有长度,也许您打算使用数字:

create table AGENTS (
   agent_code varchar(10) NOT NULL ,
    agent_name varchar(40),
    working_area varchar(30),
    commission decimal(10, 5),
    phone_no decimal(15),
    country varchar(25)
);

NOT NULL 约束是最近才实施的,所以这也可能是个问题。