CREATE TABLE给出错误4145和102

时间:2013-02-14 20:50:01

标签: sql sql-server csv

我正在尝试将CS​​V导入SQL。 CSV是非常大的4g,所以这是查询数据的唯一选择,我相信。

我已经到了创建新数据库的地步,现在正在尝试创建保存信息的表。

我运行了以下内容:

CREATE TABLE Provider_NPI
(NPI INT,
Entity Type Code INT,
Replacement NPI INT,
Employer Identification Number (EIN) INT,

在INT之后,它持续超过300多个标题,但在三个不同的标题上出现错误,其中“MSG 4145,Level 15,State 1,line X”错误。我把它们列出来了

Error:
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'Code'.

对于这一行:Replacement NPI INT,

上面的行是Entity Type Code INT,

Error:
Msg 4145, Level 15, State 1, Line 29
An expression of non-boolean type specified in a context where a condition is expected, near 'U'.

这一行:Provider Business Mailing Address Telephone Number VARCHAR(75),

Error:
Provider Business Practice Location Address Telephone Number VARCHAR(75),

这一行:Provider Business Practice Location Address Telephone Number VARCHAR(75),

任何人都可以帮我确定错误吗?我相信它可能与某些标题名称有关?

2 个答案:

答案 0 :(得分:4)

列名称中可以包含空格(和parens),但前提是将它们放在括号中。

CREATE TABLE Provider_NPI
(NPI INT,
[Entity Type Code] INT,
[Replacement NPI] INT,
[Employer Identification Number (EIN)] INT)

答案 1 :(得分:0)

Bernie帮助解决了这个问题,但我遇到了CSV文件的其他问题并且已经休假了,所以我现在回来解决问题了。

我已经成功创建了数据库和表,其中包含所有列标题,并设置了正确的数据类型和长度。即varchar(50)或INT ..我现在遇到的问题是从CSV文件导入数据。它给了我msg 4868错误,我已经指出我试图使用的批量插入问题和所有数据的双引号。

正如我所说,有300多个列标题和100,000多行。所有数据,数字,字符串和日期都用双引号“”括起来。它看起来像是一个格式文件,我正在创建但遇到http://support.microsoft.com/default.aspx?scid=kb;EN-US;132463

上的说明问题

数据类似于“1231231”,“名称1”,“地址”,“zip”,“555-555-5555”,“”,“”,“第二地址”,“传真”,“”, “”

数据继续存在,一些字段包含数据,而其他字段只用引号清空。文章指出使用虚拟行来删除引号,我可以,但它似乎需要在格式文件创建后进行大量的手动编辑。

有没有办法创建格式文件,允许我在导入数据时使用它来删除双引号?我很茫然,真的很想解决这个问题。