Sql CREATE TABLE给出错误4145和102

Sql CREATE TABLE给出错误4145和102,sql,sql-server,csv,Sql,Sql Server,Csv,我正在尝试将CSV导入SQL。CSV是非常大的4g,所以我相信这是查询数据的唯一选择 我已经创建了一个新的数据库,现在正试图创建一个包含信息的表 我运行了以下程序: CREATE TABLE Provider_NPI (NPI INT, Entity Type Code INT, Replacement NPI INT, Employer Identification Number (EIN) INT, 在INT之后,它继续处理300多个标题,但在三个不同的标题上出现错误,并带有“MSG 41

我正在尝试将CSV导入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'.
对于此行:
替换NPI 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'.
这上面的行是
实体类型代码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'.
对于此行:
提供商业务邮寄地址电话号码VARCHAR(75),

对于此行:
提供商业务机构地址电话号码VARCHAR(75),


有人能帮我确定出什么问题吗?我相信这可能与一些标题名称有关

列名中可以有空格(和括号),但前提是将它们放在括号中

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

列名中可以有空格(和括号),但前提是将它们放在括号中

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

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

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

正如我所说,有300多个列标题和100000多行。所有数据、数字、字符串和日期都用双引号“”括起来。看起来需要一个格式化文件,我正在创建,但是遇到了一个问题

数据看起来像“1231231”、“名称1”、“地址”、“邮政编码”、“555-555-5555”、“第二个地址”、“传真”、“传真”

数据继续,一些字段的数据被包围,而另一些字段则是空的,只有引号。本文指出使用伪行删除引号,我可以这样做,但似乎在创建格式文件后需要大量手动编辑


是否有一种方法可以创建格式文件,允许我在导入数据时使用它删除双引号?我不知所措,真的很想解决这个问题。

伯尼帮我解决了这个问题,但我遇到了CSV文件的其他问题,并且一直在度假,所以我现在回来解决这个问题

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

正如我所说,有300多个列标题和100000多行。所有数据、数字、字符串和日期都用双引号“”括起来。看起来需要一个格式化文件,我正在创建,但是遇到了一个问题

数据看起来像“1231231”、“名称1”、“地址”、“邮政编码”、“555-555-5555”、“第二个地址”、“传真”、“传真”

数据继续,一些字段的数据被包围,而另一些字段则是空的,只有引号。本文指出使用伪行删除引号,我可以这样做,但似乎在创建格式文件后需要大量手动编辑


是否有一种方法可以创建格式文件,允许我在导入数据时使用它删除双引号?我不知所措,真的很想解决这个问题。

这样的列名中允许有空格吗?在这种情况下,标识符周围不需要有括号吗?我完全是SQL的noob,所以我猜你的意思是。。[Entity Type Code]INT,是的,这正是我的意思。你的猜测是对的,你有没有阅读文档?如果是这样,您将看到表名“必须遵循标识符规则”的语句。上的文档解释了表名或列名的格式。看起来就是这样。。我更新了所有要用[]括起来的列标题,它成功了。。我确实收到了以下“警告:表“Provider\u NPI”已创建,但其最大行大小超过了允许的最大8060字节。如果生成的行超过了大小限制,则对此表的插入或更新将失败。”这听起来像是信息性的。。Pondlife,我没有读过那个文档,我只是在关注从谷歌上找到的其他一些链接,但我会去看看。。谢谢..这样的列名允许有空格吗?在这种情况下,标识符周围不需要有括号吗?我完全是SQL的noob,所以我猜你的意思是。。[Entity Type Code]INT,是的,这正是我的意思。你的猜测是对的,你有没有阅读文档?如果是这样,您将看到表名“必须遵循标识符规则”的语句。上的文档解释了表名或列名的格式。看起来就是这样。。我更新了所有要用[]括起来的列标题,它成功了。。我确实收到了以下“警告:表“Provider\u NPI”已创建,但其最大行大小超过了允许的最大8060字节。如果生成的行超过了大小限制,则对此表的插入或更新将失败。”这听起来像是信息性的。。Pondlife,我没有读过那个文档,我只是在关注从谷歌上找到的其他一些链接,但我会去看看。。谢谢..Ansi引号(使用
)应该是首选。或者更好:使用不需要引号的列名。Som