gpt4 book ai didi

php - 当 csv 表标题与 mySQL 表标题不匹配时使用 LOAD DATA INFILE 语句?

转载 作者:行者123 更新时间:2023-11-29 00:12:08 24 4
gpt4 key购买 nike

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

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

.CSV 文件中的 header 与 mySQL 表中的列不匹配,.CSV 文件中的列更多。我知道我可以通过使用如下变量忽略某些列:

$insert_query = "LOAD DATA LOCAL INFILE $csvfile
INTO table $tableName
FIELDS TERMINATED BY ','
LINES TERMINATED BY ''
(col1,col2,col3,@ignore,col4)";

我想知道的是,我是否可以将.CSV 文件中的数据列分配给mySQL 表中的不同列,例如将.CSV 中的第一列数据映射到mySQL 表的第五列,有点像:

$insert_query = "LOAD DATA LOCAL INFILE $csvfile
INTO table $tableName
FIELDS TERMINATED BY ','
LINES TERMINATED BY ''
(col5,col2,col3,@ignore,col4)";

这可能吗?如果是这样,一些例子将不胜感激! :)

谢谢!

最佳答案

您使用适合您的问题的语法来执行此操作并指定列列表:

LOAD DATA INFILE 'path/to/your/file' INTO TABLE yourTable (col1,col2,...);

manual进一步指出:

You must also specify a column list if the order of the fields in the input file differs from the order of the columns in the table. Otherwise, MySQL cannot tell how to match input fields with table columns.

关于php - 当 csv 表标题与 mySQL 表标题不匹配时使用 LOAD DATA INFILE 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com