【发布时间】:2013-04-25 18:08:21
【问题描述】:
我在 SQL SERVER 2008 中使用此查询..
SET IDENTITY_INSERT ABC ON
BULK
INSERT ABC
FROM 'F:\test.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
并得到一个错误:
必须为表 'ABC' 中的标识列指定显式值 当 IDENTITY_INSERT 设置为 ON 或复制用户 插入 NOT FOR REPLICATION 标识列。
'ABC' 的表结构是:
ID [int] IDENTITY(1,1) NOT NULL, -- primary key
aa [varchar](50) NULL,
bb [varchar](50) NULL,
cc [datetime] NULL,
dd [varchar](50) NULL,
ee [varchar](50) NULL,
ff [int] NULL,
gg [varchar](50) NULL,
ii [int] NULL,
jj [int] NULL
CSV 文件中的样本数据
84,0b0dbe1d,192.168.10.221,2012-07-27 16:15:41.503,0b0dbe1d_16-15-18,1.0.0,2,pra,2,NULL
85,111de4b6,192.168.10.221,2012-07-27 16:27:06.060,111de4b6_16-27-05,1.0.0,8,Diane,5,NULL
【问题讨论】:
-
您需要在插入具有标识列的表时明确指定列名。
-
但在 csv 文件中,这些值在那里..这是我的要求...SET IDENTITY_INSERT ABC ON ..正是出于这个原因,我认为...没有任何方法可以处理这个。
标签: sql-server sql-server-2008 identity-column