Chr*_*her 12 sql oracle composite-key
我在oracle的1个表中有一个复合主键.我想为我的第二个表中的一个表项创建一个外键,该表引用第一个表中的复合主键.我收到错误ORA-02256.关于如何进入这个的任何想法?
CREATE TABLE groupspersonx (
personid number,
groupid number,
CONSTRAINT pk_persongroupid PRIMARY KEY(personid, groupid)
);
CREATE TABLE restrictedgroups (
groupid number,
name varchar2(50),
dateadded date,
since date,
notes varchar2(1024),
CONSTRAINT pk_groupid PRIMARY KEY(groupid),
CONSTRAINT fk_persongroup FOREIGN KEY(groupid) REFERENCES groupspersonx(personid, groupid)
);
Run Code Online (Sandbox Code Playgroud)
OMG*_*ies 19
该错误是因为FOREIGN KEY是一列,但您尝试提供两列作为父列.没有必要绑定复合键,因为restrictedgroups它没有personid列...
你也有向后关系 - 使用:
CREATE TABLE restrictedgroups (
groupid number,
name varchar2(50),
dateadded date,
since date,
notes varchar2(1024),
CONSTRAINT pk_groupid PRIMARY KEY(groupid)
);
CREATE TABLE groupspersonx (
personid number,
groupid number,
CONSTRAINT pk_persongroupid PRIMARY KEY(personid, groupid),
CONSTRAINT fk_persongroup FOREIGN KEY(groupid) REFERENCES restrictedgroups(groupid)
);
Run Code Online (Sandbox Code Playgroud)
我会为personid将来自的表添加一个外键约束.
| 归档时间: |
|
| 查看次数: |
62072 次 |
| 最近记录: |