【问题标题】:Redshift : defining composite primary keyRedshift:定义复合主键
【发布时间】:2014-06-27 20:08:53
【问题描述】:

我有一个表,我想为它定义一个复合主键,其中包含两列红移。我在创建表语法时遇到了一些问题。这是我想要做的:

创建表指标 ( id varchar(30), 运行时时间戳, 类 varchar(30), 位置 varchar(30)) 主键(id,运行时), 排序键(运行时);

失败并显示一条消息:

错误:“PRIMARY”处或附近的语法错误

谁能帮我弄清楚如何解决它?提前致谢。

【问题讨论】:

    标签: sql amazon-redshift


    【解决方案1】:

    primary key 约束位于包含列的括号内:

    Create table metrics  (
         id varchar(30),
         runtime timestamp,
         category varchar(30),
         location varchar(30),
         primary key(id, runtime)
    )
    sortkey(runtime);
    

    【讨论】:

    • 我试过像你提到的那样。创建表工作正常。但是当我尝试将数据加载到表中时收到以下错误:不允许使用多个主键。
    • 根据文档 (docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html),composite 主键是允许的,并且答案具有正确的语法。一张表不能有多个主键,你的问题和我的回答都没有多个主键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2012-03-26
    • 2023-03-24
    • 2016-07-09
    • 2012-04-16
    相关资源
    最近更新 更多