日期:2014-05-17  浏览次数:20680 次

Sql数据表int类型主键,是否设置自动增长.
1,没有主键不给插入:
  我从文件中,用文件流的方式读取,然后往数据库中插入的时候.发现文件中的序号用不到(序号从1开始递增1).
因为我建立表的时候,想把数据库中表的每一项的Id的数据源从文件中的序号替换.但是SQL server不给我这样做.貌似提示说没有表示.

2,有主键不给插入:
有两个表 T_Person_01 和 T_Person_02
 测试的时候,我想把表 T_Person_01 的数据全部插入T_Person_02,当然他们的字段要是一样.
但是我发现,如果表T_Person_02有主键的话,无法复制主键(主键是int自动增长类型).
Sql语句:
insert into [dbo].T_Person_02
select * from [dbo].T_Person_01


郁闷..

------解决方案--------------------
要么不设置自动递增,要么不插入该列,直接默认
------解决方案--------------------
--在insert 语句前加上 
SET IDENTITY_INSERT T_Person_02 ON 

 insert into [dbo].T_Person_02 
 select * from [dbo].T_Person_01 

--再加上
SET IDENTITY_INSERT T_Person_02 OFF