Oracle ORA-02270错误:创建外键无匹配唯一键或主键该如何修复
ORA-02270错误修复方案
报错原因
Oracle数据库规定,外键关联指向的父表列,必须是主键或者带有唯一约束。你当前的Trasy表中,ID_Trasy字段仅设置了非空约束,没有定义主键或唯一约束,因此创建外键时会触发该报错。
修复步骤
- 第一步:为
Trasy表的ID_Trasy字段添加主键约束(如果ID_Trasy是Trasy表的唯一业务标识,优先选择该方案)
ALTER TABLE Trasy ADD CONSTRAINT PK_Trasy PRIMARY KEY (ID_Trasy) /
如果业务场景中Trasy表的ID_Trasy允许重复,也可以添加唯一约束替代主键:
ALTER TABLE Trasy ADD CONSTRAINT UQ_Trasy_ID_Trasy UNIQUE (ID_Trasy) /
注意:如果
Trasy表现存数据中ID_Trasy字段已经存在重复值,需要先清理重复数据后,才能成功添加主键或唯一约束。
- 第二步:重新执行外键创建语句即可
ALTER TABLE Trasy_srodki_transportu ADD CONSTRAINT Trasa_jest_wykorzystywana FOREIGN KEY (ID_Trasy) REFERENCES Trasy (ID_Trasy) /
内容的提问来源于stack exchange,提问作者Marcin Renik
相关产品推荐
相关产品推荐

