我有这个CSV命名test.csv下面批量插入ROWTERMINATOR问题
1,"test user",,,4075619900,[email protected],"Aldelo for Restaurants","this is my deal",,"location4"
2,"joe johnson",,"32 bit",445555519,[email protected],"Restaurant Pro Express","smoe one is watching u",,"some location"
下面的内容是我的SQL文件做批量插入
USE somedb
GO
CREATE TABLE CSVTemp
(id INT,
name VARCHAR(255),
department VARCHAR(255),
architecture VARCHAR(255),
phone VARCHAR(255),
email VARCHAR(255),
download VARCHAR(255),
comments TEXT,
company VARCHAR(255),
location VARCHAR(255))
GO
BULK
INSERT CSVTemp
FROM 'c:\test\test.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '''+CHAR(124)+''+CHAR(10)+'''
)
GO
--Check the content of the table.
SELECT *
FROM CSVTemp
GO
但发生了什么是它的唯一插入来自第二条记录的一条记录和所有信息正被插入到第一条记录的位置字段中
id,name,department,architecture,phone,email,download,comments,company,location
1,"test user",NULL,NULL,4075619900,[email protected],"Aldelo for Restaurants","this is my deal",NULL,"""location4""2,""joe johnson"",,""32 bit"",445555519,[email protected],""Restaurant Pro Express"",""smoe one is watching u"",,""some location"""
我认为问题是ROWTERMINATOR
但我想所有这些
ROWTERMINATOR = '\n'
ROWTERMINATOR = '\r\n'
ROWTERMINATOR = '\r'
和所有相同的结果...关于如何解决这一问题
我通过PHP
创造一个像 this的CSV任何想法
你试过'\ n \ r'吗? CSV文件来自哪里?是否有可能在行尾有一些非打印字符? –
我通过服务器上的php生成它...我将更新我的问题 – Trace
也许显示您用于生成CR + LF的PHP。 –