[英]How to create references in SQL
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
我想要第一個表中的兩個主鍵和第二個表中的外鍵。
外鍵必須引用唯一值(即,另一個主鍵或一組具有在其上定義的唯一約束的列)。
你的abc
表中的emp_id
不是唯一的 - 只有(emp_id, emp_cnic)
的組合。 因此,您無法使用xyz
的外鍵引用它。
外鍵關系應該是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)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.