加载数据本地infile不插入数据库

时间:2013-03-05 15:16:43

标签: php mysql load-data-infile

我有一个.CSV文件将导入到mysql数据库,使用加载数据本地infile语法,我的csv文件包含23列,但我只想在数据库中导入所选列。

我的问题是我的加载infile systax没有从我的.CSV文件导入任何东西。

以下是我的代码:

$mysql = printf("LOAD DATA LOCAL INFILE 'File.csv' INTO TABLE table
            FIELDS 
                TERMINATED BY ','
            LINES 
                TERMINATED BY '\\n'
            IGNORE 1 LINES 
            (column1, column2, column3...) 
");

$query = mysql_query($mysql);

任何帮助将不胜感激。

非常感谢!

2 个答案:

答案 0 :(得分:2)

登录SSH提示。

然后输入

# mysql -u admin -p`cat /etc/psa/.psa.shadow`;

mysql>LOAD DATA LOCAL INFILE 'File.csv' INTO TABLE table
            FIELDS 
                TERMINATED BY ','
            LINES 
                TERMINATED BY '\\n'
            IGNORE 1 LINES 
            (column1, column2, column3...) 

如果它正常工作,则问题在于您的数据库用户权限。更改数据库用户权限并执行。

答案 1 :(得分:0)

在Windows上这是我使用的。我使用一个远程数据库,仍然需要为文件位置dir“C:\”添加额外的斜杠,在上面的两个例子中似乎都有额外的斜杠'\ n' 我相信它应该只是一个。编辑它并在mysql工作台或类似的GUI

中尝试
LOAD DATA LOCAL INFILE 'c:\\resultItem.txt' 
INTO TABLE resultItem 
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '|'
LINES TERMINATED BY '\n'
 IGNORE 1 LINES
(ID, Accessibility, Assigned_To, AttachedFileCount, Category, `Change`,       Changed_By,Changed_Date,ChildLinkCount,Closed_By,Closed_Date,Dependent_Date,Dependent_Link_Status,Description, @insertedtothisDB)
 SET insertedtothisDB = utc_timestamp();