有自动编号字段的表导入数据时为什会报该字段不能为空值?
表结构
ID(int) 字段1(varchar) 字段2(varchar)
数据是电子表格共2列,导入时报ID该字段不能为空值,若在电子表格中增加ID列并填上相应数字则能导入数据,不知何故?ID字段数据类型:int,标识:是,标识种子:1,标识递增量:1。
[解决办法]
叫你一个笨方法 你先把id列删除 然后把数据导进去 再在表中添加id列 就可以了
[解决办法]
用代码导入吧.手工写各个列,别导自增的那个列,那个列就会自动补值了.
当然,最好你先把电子表格的二列导进来.存成一个表,
然后再写代码导这个表
[解决办法]
SET IDENTITY_INSERT ON
insert语句....
SET IDENTITY_INSERT OFF
参考:http://hi.baidu.com/ruicao/blog/item/35c7b7186c06430734fa4175.html
[解决办法]
自动增长的ID是不能进行强行插入的
[解决办法]
use 数据库名称
SET IDENTITY_INSERT 数据库名称.dbo.表名 ON
GO
insert 数据库名称.dbo.表名(
master_id,master_caseId,master_site
)
select
master_id,master_caseId,master_site
from 另一个数据库.dbo.表名
GO
SET IDENTITY_INSERT 数据库名称.dbo.表名 off
GO
--说明 master_id 是自增长列
[解决办法]
insert 数据库名称.dbo.表名(
master_id,master_caseId,master_site
)
select
master_id,master_caseId,master_site
from 另一个数据库.dbo.表名
---------------
master_id是自增列的话,这样改了一下,你看行不行
insert 数据库名称.dbo.表名(
master_caseId,master_site
)
select
master_caseId,master_site
from 另一个数据库.dbo.表名
也就是说,不插入那个自增列,我以前就是这样用的呀.
[解决办法]
insert tb(col.....)
select col....
from tb2 where ....