HI朋友请帮帮我... 我的第一个表是创建成功,当我创建有关系的第二个表时,会发生此错误。
ORA-02270: no matching unique or primary key for this column-list
-----------------------------------------------------------------
create table abc(
emp_id number (10),
emp_cnic number(20),
emp_name varchar2(50),
primary key(emp_id,emp_cnic));
-----------------------------------------------------------------
create table xyz(
emp_id number(10),
Att_date date,
Flag varchar2(1),
primary key(emp_id),
foreign key (emp_id) references abc(emp_id));
ORA-02270: no matching unique or primary key for this column-list
我想在第一个表中使用两个主键,在第二个表中使用外键。
答案 0 :(得分:3)
外键必须引用唯一值(即另一个主键或在其上定义了唯一约束的一组列)。
emp_id
表格中的 abc
并非唯一 - 只有(emp_id, emp_cnic)
的组合。因此,您无法使用xyz
的外键引用它。
答案 1 :(得分:0)
外键关系应该在abc
,而不是xyz
:
create table xyz (
emp_id number(10),
Att_date date,
Flag varchar2(1),
primary key(emp_id)
);
create table abc (
emp_id number (10),
emp_cnic number(20),
emp_name varchar2(50),
primary key(emp_id, emp_cnic),
foreign key (emp_id) references xyz(emp_id)
);