【发布时间】:2016-07-15 09:06:36
【问题描述】:
我对此束手无策。我已经对此进行了研究,似乎无法解决。我有以下 PHP 语句:
$sqlstatement="LOAD DATA LOCAL INFILE '$temp' INTO TABLE contacts FIELDS
TERMINATED BY ','
LINES TERMINATED BY '\r'
IGNORE 1 LINES
(@ignore, @ID, @Name, @Email, @Type, @Hash, @Time)
SET Date_Update=date('Y-m-d')
";
我的 CSV 文件包含以下标题行:ID、用户名、用户电子邮件、类型。
ID User Name User Email Type
12345 Jackson, F fj@me.com Level 1
67890 Stewart, J js@me.com Level 1
43210 Fuller, T tf@me.com Level 2
62295 Lewis, M ml@me.com Level 2
CSV 文件还有我不需要导入的额外字段。希望我可以选择要导入的字段。不确定技术。
我的 MYSQL 表有以下字段:Tag(自增)、ID、Name、Email、Type、Hash、Date_Update、Time_Update。
我似乎无法弄清楚如何在此命令中使用 SET 功能。我设置@ignore 跳过标签(自动增量字段)。
- 如何将 CSV“用户名”字段放入 MYSQL“名称”字段?
- 如何为 MYQL“Date_Update”字段生成今天的日期?我试过 SET Date_Update=date('Y-m-d') 但它显示为空白。
- 如何从 CSV“ID”字段生成哈希?我试过 Hash=Hash('sha384',$pre.@ID.$suf)
我很茫然。任何帮助将不胜感激。
【问题讨论】:
-
请显示来自:
show create table contacts的输出。此外,从文件顶部剪切并粘贴几行以导入,包括第 1 行 -
ID 用户名 用户电子邮件类型 12345 Jackson, F fj@me.com Level 1 67890 Stewart, J js@me.com Level 1 43210 Fuller, T tf@me.com Level 2 62295 Lewis, M ml@me.com 2级
-
我已编辑我的问题以包含来自 CSV 的示例数据。
-
抱歉,我在椅子上睡着了。在这个编程的东西上花费了太多时间。问题在于您的名字中有逗号,而数据实际上没有像样的分隔符
-
你的 create table 语句在哪里,所以我有一个目标来导入这个?