将数据从 CSV 文件导入 MySQL 表时,并不总是需要映射所有列。有时需要跳过不相关的列或避免映射存在数据不匹配的列。
问题:
考虑一个包含 11 列的 CSV 文件:
col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11
只有 9 列的 MySQL 表:
col1, col2, col3, col4, col5, col6, col7, col8, col9
目标是将 CSV 中的第 1 列到第 8 列导入到 MySQL 表的前 8 列,但跳过第 9 列和第 10 列,然后将 CSV 的第 11 列映射到表的第 9 列。
解决方案:
要在导入过程中跳过 CSV 中的列,请在LOAD DATA INFILE 命令:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table ( col1, @dummy1, col2, @dummy2, col3, col4, col5, col6, col7, col8, @dummy3, @dummy4, col9 ) FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n'
在此命令中:
此解决方案允许选择性地将 CSV 列映射到表列,即使它们的数量不同。
以上是使用 LOAD DATA INFILE 将 CSV 文件导入 MySQL 时如何跳过列?的详细内容。更多信息请关注PHP中文网其他相关文章!