我只想问一个关于符号的问题。我现在有两张桌子。
这个有基本的动物信息:
create table d_animals (
an_id integer primary key
, an_gender varchar2(1) not null
, an_dob date not null
, an_name varchar2(10) not null
);这个是关于猫的:
create table d_cats (
an_id integer primary key
, feline_leukemia_test_date date not null
, an_id foreign key references d_animals_(an_id)
);如您所见,我尝试使用an_id作为d_cats中的主键,但也引用d_animals表中的an_id。对于d_cats,我得到以下错误:
ORA-00957: duplicate column name那么我该如何正确地写出这段代码呢?
另外,我不想为d_cats创建另一个列。我的教授希望我们只用an_id和feline_leukemia_test_Date编写d_cats。谢谢。
发布于 2012-11-27 10:51:25
使用命名约束,即:
create table d_cats (
an_id integer primary key
, feline_leukemia_test_date date not null
, constraint d_cats_animals_fk foreign key (an_id) references d_animals (an_id)
);发布于 2012-11-27 11:41:48
你也可以内联外键:
create table d_cats
( an_id integer primary key references d_animals(an_id)
, feline_leukemia_test_date date not null
);发布于 2012-11-27 10:35:32
对外键使用不同的名称。
create table d_cats (
an_id integer primary key
, feline_leukemia_test_date date not null
, cats_an_id foreign key references d_animals_(an_id)
);https://stackoverflow.com/questions/13576553
复制相似问题