我想创建一个表,但无法创建它

huus2vyu  于 2021-06-27  发布在  Hive
关注(0)|答案(2)|浏览(308)

我想在配置单元中创建一个具有not null属性的表,但无法创建它。它将在create table语句中的“)”附近显示“parseexception行1:44不匹配的输入”not“expecting”。
我尝试了主键选项,但它会给出相同的错误

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));
m4pnthwp

m4pnthwp1#

我不认为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` 约束是最近才强制执行的,所以这可能也是一个问题。
6rvt4ljy

6rvt4ljy2#

检查你的Hive版本。旧版本的配置单元不支持 NOT NULL 像大多数数据库一样。 NOT NULL 约束是从3.0.0版本开始引入的。
参考文献:https://issues.apache.org/jira/browse/hive-16575

相关问题