簡體   English   中英

如何在SQL中創建引用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM