目前有一个表,结构是这样的
create table test
(
id1 int identity(1,1),
id2 int
...
constraint pk_test primary key(id1),
constraint fk_test foreign key(id2) references test(id1)
)字段id1是自增长的,字段id2参照字段id1,那么这张表的第一条数据应该怎样插入?
create table test
(
id1 int identity(1,1),
id2 int
...
constraint pk_test primary key(id1),
constraint fk_test foreign key(id2) references test(id1)
)字段id1是自增长的,字段id2参照字段id1,那么这张表的第一条数据应该怎样插入?
同一个表的字段id1也不能做id2的外键.
外键是针对不同的表,不是同一个表. FOREIGN KEY 约束
外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
2> (
3> id1 int identity(1,1),
4> id2 int,
5> constraint pk_test primary key(id1),
6> constraint fk_test foreign key(id2) references test(id1)
7> )
8> go
1> insert into test(id2) values (null);
2> select * from test
3> go(1 rows affected)
id1 |id2
-----------|-----------
1| NULL(1 rows affected)
1>