创建DB2外键时出错

时间:2016-09-09 15:31:09

标签: sql db2

表1:

Column    Primary Key    Generated
COL1      *              *
COL2      *
COL3      *
COL4      

表2:

Column   Primary Key    Generated
CCOL1
CCOL2
CCOL1中的

Table2引用COL1中的Table1。我想在Table2中为CCOL1创建外键

ALTER TABLE TABLE2
  ADD CONSTRAINT CCOL1_FK
    FOREIGN KEY (CCOL1)
        REFERENCES TABLE1(COL1)
    ON DELETE RESTRICT

然后收到此错误消息:

  

约束的references子句中指定的列列表       " CCOL1_FK"不识别父母的唯一约束       表或昵称" TABLE1" .. SQLCODE = -573,SQLSTATE = 42890,DRIVER = 4.18.60

很清楚,但如何将CCOL1COL1联系起来?如果TABLE1

中仍使用CCOL1,我希望TABLE2限制删除

1 个答案:

答案 0 :(得分:2)

外键通常可以通过唯一键引用。但在您的情况下,您必须在table1 - COL1字段中具有重复值。将其作为唯一字段或尝试使用表1中的其他唯一键进行引用。问题将得到解决