首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当csv表标题与mySQL表标题不匹配时,使用语句?

当csv表标题与mySQL表标题不匹配时,使用语句?
EN

Stack Overflow用户
提问于 2014-07-04 14:03:10
回答 1查看 2.6K关注 0票数 2

我想要做的是使用php将一些.CSV文件导入mySQL

我将使用LOAD DATA INFILE语句,但我有一个问题:

.CSV文件中的头与mySQL表中的列不匹配,在.CSV文件中还有更多。我知道可以忽略某些列,方法是使用如下变量:

代码语言:javascript
复制
$insert_query = "LOAD DATA LOCAL INFILE $csvfile
            INTO table $tableName
            FIELDS TERMINATED BY ','
            LINES TERMINATED BY ''
            (col1,col2,col3,@ignore,col4)";

我想知道的是,如果我可以将.CSV文件中的数据列分配给mySQL表中的不同列,则E.G将.CSV中的第一列数据映射到mySQL表的第五列,类似于:

代码语言:javascript
复制
$insert_query = "LOAD DATA LOCAL INFILE $csvfile
            INTO table $tableName
            FIELDS TERMINATED BY ','
            LINES TERMINATED BY ''
            (col5,col2,col3,@ignore,col4)";

这个是可能的吗?如果是这样的话,我们会非常感谢一些例子!)

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-04 14:43:30

您可以使用适当的语法来解决问题,并指定列列表:

代码语言:javascript
复制
LOAD DATA INFILE 'path/to/your/file' INTO TABLE yourTable (col1,col2,...);

手册进一步指出:

如果输入文件中字段的顺序与表中列的顺序不同,则还必须指定列列表。否则,MySQL无法告诉如何将输入字段与表列匹配。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24576056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档