如何创建外键是本身表的主键的外键?

有一个表NewsType,有字段:
id,为主键
parentId,为外键,指向自己表的id

如何设置外键?创建表时应怎样写?

create table NewsType(
id INT PRIMARY KEY ,
parentId int references NewsType(id)
)

其他字段你自己添吧

 

比如插入测试数据

insert into NewsType values (1,1);--这个执行没问题
 
insert into NewsType values (2,3);--会报错
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-01
可以用数据库工具创建。
具体方法如下:
create table TabA (AF1 string ,AF2 int null,AF3 int null)
create table TabB (BF1 string ,BF2 int )

//创建
constraint PK_AF1 primary key (AF1)

constraint TabB primary key (BF1),
constraint FK_Tab1_TAB2 foreign key (BF2)references TabA(AF1)

具体例子如下:
create table VAS_POSSTOR_DETAIL (
TEAMNO VARCHAR2(10) not null,
POS_NO VARCHAR2(3) not null,
ITEM_CODE VARCHAR2(10) not null,
SORT_NO VARCHAR2(5) not null,
INIT_QUANTITY NUMBER,
STO_QUANTITY NUMBER,
ORD_QUANTITY NUMBER,
DEL_PRICE NUMBER(10,4),
constraint PK_VAS_POSSTOR_DETAIL primary key (TEAMNO, POS_NO, ITEM_CODE),
constraint FK_VAS_POSS_REFERENCE_VAS_POS foreign key (TEAMNO, POS_NO)
references VAS_POSSTORAGE (TEAMNO, POS_NO)
相似回答