这与在配置单元中的列上创建主键有什么不同?

zf2sa74q  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(393)

我听说我们不能在配置单元表中的列上创建主键。但我在其他地方看到了下面的ddl并执行了它。它毫无问题地工作了。

  1. create table prim(id int, name char(30))
  2. TBLPROPERTIES("PRIMARY KEY"="id");

在此之后,我执行了“descripe formatted prim”,并看到在列id上创建了一个键

  1. Table Parameters:
  2. PRIMARY KEY id

我在表中插入了两条id号相同的记录。

  1. insert into prim values(1,'ABCD');
  2. insert into prim values(2,'EFGH');

两条记录都被插入表中。让我困惑的是,我们不能在create语句中给出我能理解的主键,但是在 TBLPROPERTIES("PRIMARY KEY"="id") 它与rdbms中的主键有多大区别。

kxkpmulp

kxkpmulp1#

PRIMARY KEYTBLPROPERTIES 用于元数据引用以保留列的重要性。它不会对该列应用任何约束。这可以作为设计的参考。

相关问题