我正在尝试从 CSV 文件向数据库添加批量数据。
员工表有一列ID
(PK)自动递增。
CREATE TABLE [dbo].[Employee](
[id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
[Address] [varchar](50) NULL
) ON [PRIMARY]
我正在使用这个查询:
BULK INSERT Employee FROM 'path\tempFile.csv '
WITH (FIRSTROW = 2,KEEPIDENTITY,FIELDTERMINATOR = ',' , ROWTERMINATOR = '\n');
.CSV 文件 -
Name,Address
name1,addr test 1
name2,addr test 2
但它会导致以下错误消息:
第 2 行第 1 列 (id) 的批量加载数据转换错误(类型不匹配或指定代码页的字符无效)。
将 id 列添加到 csv 文件并将其留空:
id,Name,Address
,name1,addr test 1
,name2,addr test 2
从查询中删除 KEEPIDENTITY 关键字:
BULK INSERT Employee FROM 'path\tempFile.csv '
WITH (FIRSTROW = 2,FIELDTERMINATOR = ',' , ROWTERMINATOR = '\n');
id 身份字段将自动递增。
如果您将值分配给 csv 中的 id 字段,除非您使用 KEEPIDENTITY 关键字,否则它们将被忽略,然后将使用它们而不是自动递增。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)