oracle数据库创建表主外键语法

时间:2021-08-01 21:33:42
比如我有一张A表
a_id是主键

然后用B表的a_id跟A表的a_id创建主外键关系

谢谢~··

12 个解决方案

#1


alter table  b add
CONSTRAINT fk_a_id
  FOREIGN KEY (a_id)
  REFERENCES a(a_id)

#2


alter table a add constraint pk_a primary key(a_id)

#3


如何是经常写这些语句的话,建议使用powerdesigner去做
自动生成脚本

#4


引用 1 楼 welyngj 的回复:
alter table  b add 
CONSTRAINT fk_a_id 
  FOREIGN KEY (a_id) 
  REFERENCES a(a_id)

如上

#5


外键reference的字段,一定是unique key的约束的,所以你的a_id需要是主键,或者是unique key

加外键的话
可以直接alter已经建好的表

alter table b add constraint FK_B_AID foreign key(a_id) references a(a_id);

也可以在create里自己指定

create table b(....., constraint FK_B_AID foreign key(a_id) references a(a_id));

#6


C,ORALCE论坛也被弄成这副丑样子。
妈妈的,想离开的心都有了。

#7


 create table a(
   a_id int primary key
 );

create table b(
   b_id int primary key,
   a_id int references a(a_id)
 );



这 怎么搞的这么丑啊

#8


引用楼主 mubeibei 的回复:
比如我有一张A表
a_id是主键

然后用B表的a_id跟A表的a_id创建主外键关系

谢谢~··


在a表里面,添加主键约束,如下:
constraint pk_1 primary key(a_id)

在b表,添加外键约束,如下:
constraint fk_1 foreign key(a_id) references a(a_id)

#9


学习

#10


该回复于2011-04-12 13:27:27被版主删除

#11


学习,但是没有一个满意的答案

#12


CREATE TABLE teacher(
       tid INT PRIMARY KEY,
       tname varchar2(20)
);

CREATE TABLE classes(
       cid INT PRIMARY KEY,
       cname varchar2(20),
       tid REFERENCES teacher (tid);
);

#1


alter table  b add
CONSTRAINT fk_a_id
  FOREIGN KEY (a_id)
  REFERENCES a(a_id)

#2


alter table a add constraint pk_a primary key(a_id)

#3


如何是经常写这些语句的话,建议使用powerdesigner去做
自动生成脚本

#4


引用 1 楼 welyngj 的回复:
alter table  b add 
CONSTRAINT fk_a_id 
  FOREIGN KEY (a_id) 
  REFERENCES a(a_id)

如上

#5


外键reference的字段,一定是unique key的约束的,所以你的a_id需要是主键,或者是unique key

加外键的话
可以直接alter已经建好的表

alter table b add constraint FK_B_AID foreign key(a_id) references a(a_id);

也可以在create里自己指定

create table b(....., constraint FK_B_AID foreign key(a_id) references a(a_id));

#6


C,ORALCE论坛也被弄成这副丑样子。
妈妈的,想离开的心都有了。

#7


 create table a(
   a_id int primary key
 );

create table b(
   b_id int primary key,
   a_id int references a(a_id)
 );



这 怎么搞的这么丑啊

#8


引用楼主 mubeibei 的回复:
比如我有一张A表
a_id是主键

然后用B表的a_id跟A表的a_id创建主外键关系

谢谢~··


在a表里面,添加主键约束,如下:
constraint pk_1 primary key(a_id)

在b表,添加外键约束,如下:
constraint fk_1 foreign key(a_id) references a(a_id)

#9


学习

#10


该回复于2011-04-12 13:27:27被版主删除

#11


学习,但是没有一个满意的答案

#12


CREATE TABLE teacher(
       tid INT PRIMARY KEY,
       tname varchar2(20)
);

CREATE TABLE classes(
       cid INT PRIMARY KEY,
       cname varchar2(20),
       tid REFERENCES teacher (tid);
);