创建 DB2 外键时出错

  • 本文关键字:出错 DB2 创建 sql db2
  • 更新时间 :
  • 英文 :


表1:

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

表2:

Column   Primary Key    Generated
CCOL1
CCOL2

Table2中的CCOL1是指Table1中的COL1。我想在表 2 中为 CCOL1 创建外键

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

然后收到此错误消息:

在约束的引用子句中指定的列列表 "CCOL1_FK"不标识父项的唯一约束 表或昵称"表1"。SQLCODE=-573, SQLSTATE=42890, DRIVER=4.18.60

很清楚,但是如何将CCOL1连接到COL1?如果TABLE2中仍有使用CCOL1,我想限制TABLE1删除

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