目前有一个表,结构是这样的
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,那么这张表的第一条数据应该怎样插入?

解决方案 »

  1.   

    同一个表的字段id2不能做id1的外键. 
    同一个表的字段id1也不能做id2的外键. 
     
     
    外键是针对不同的表,不是同一个表. FOREIGN KEY 约束 
    外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。 
      

  2.   

    1> create table test
    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>