【发布时间】:2017-07-19 13:35:40
【问题描述】:
我的Candidate 表中有一个复合主键
CREATE TABLE CANDIDATE(
CANDIDATE_ID VARCHAR(5),
NAME VARCHAR(30),
TELEPHONE NUMBER,
PRIMARY KEY(CANDIDATE_ID, NAME));
当我创建子表时,我收到一条错误消息,指出当我为 CANDIDATE_ID 创建外键时,引用列的数量必须与引用的列匹配
CREATE TABLE JOB(
POSITION_ID VARCHAR(5) PRIMARY KEY,
CANDIDATE_ID VARCHAR(5),
DATE2 DATE,
FOREIGN KEY(CANDIDATE_ID) REFERENCES CANDIDATE);
【问题讨论】:
-
为什么选择制作复合主键? CANDIDATE_ID 还不足以作为唯一键吗?
-
我之所以选择它,是因为这样做会更有效率,而且对于这项特定的工作会更好
标签: oracle oracle10g oracle11g