0

我有一个 .CSV 文件,它将使用 Load data local infile 语法导入 mysql 数据库,我的 csv 文件包含 23 列,但我只想在数据库中导入选定的列。

我的问题是我的加载文件系统税没有从我的 .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);

任何帮助将不胜感激。

多谢!

4

2 回答 2

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...) 

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

于 2013-06-05T06:46:52.980 回答
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();
于 2014-02-11T21:39:30.220 回答