请记住我是学生,所以我无法修改csv文件。它也必须编码,不允许“特殊工具”。我在SQL中有这些语句:
架构和表格创建:
CREATE SCHEMA IA;
GO
CREATE TABLE IA.CONTACTS
(
CONT_GUID UNIQUEIDENTIFIER PRIMARY KEY NOT NULL,
CONT_FNAME VARCHAR(100) NOT NULL,
CONT_LNAME VARCHAR(100) NOT NULL,
CONT_DOB DATE,
CONT_CALLS INTEGER
);
尝试从csv文件批量插入:
BULK INSERT IA.IA.Contacts
FROM 'C:\Users\k20\Desktop/IA.CONTACTS.csv'
WITH
(FIRSTROW = 2,
KEEPIDENTITY,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n');
我收到此错误:
Msg 4864,Level 16,State 1,Line 3
第2行第1列(CONT_GUID)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。Msg 4864,Level 16,State 1,Line 3
第3行第1行(CONT_GUID)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。....依此类推,对于csv文件中的每一行
我的csv文件中有4列,但我的表中有5列。如何忽略表格中的第一个CONT_GUID
?
编辑:
CONT_FNAME CONT_LNAME CONT_DOB CONT_CALLS
Mary May 1/25/1980 2
John James 1/13/1978 3
Martin Merriweather 4/25/1988 1
James Johns 6/13/1990 1
Jerry Jacobs 11/11/1996 1
Madelyn Mace 3/30/1995 2
Bruce Blake 1/30/1970 4
Brian Brown 12/4/1980 2
Charlie Childress 2/13/1987 3
Ray Rhodes 12/23/1989 1
William Willis 11/13/1985 1
Herman Hughes 3/1/1980 2
Steve Stevens 5/12/1984 2
Daryl Dixon 9/25/1983 3
Abe Avery 8/24/1987 5
Kevin Carlyle 10/15/1975 3
Sean Shaffer 10/25/1977 3
Peter Piper 8/6/1974 3
Oscar Oosker 7/2/1973 2
Tom Townsend 6/6/1965 1
Victor Vaughn 6/13/1966 1
Nick Nice 7/12/1968 1
Sally Soose 6/12/1984 1
June Johnson 12/16/1984 1
它直接来自csv文件。没有空格的逗号用作分隔符。
答案 0 :(得分:0)
您不能忽略批量插入中的字段,建议加载所有字段并删除或删除您不想要的列中的值或将所有字段加载到临时表中,在登台表中进行更改并加载进入决赛桌(目标)
答案 1 :(得分:0)
将它们加载到具有4列的临时表中,然后创建一个sql以将它们插入到最终表中,指定要插入的4列。
我不知道您上面的唯一标识语法,但是您已经指定了newid(),所以以下内容应该是完整的答案
SUM([b(i) * (i-1)**2, i = 1, SIZE(b)])