首页  >  文章  >  数据库  >  如何在 CSV 导入 MySQL 期间跳过列?

如何在 CSV 导入 MySQL 期间跳过列?

Susan Sarandon
Susan Sarandon原创
2024-11-17 12:00:04268浏览

How to Skip Columns During CSV Import to MySQL?

跳过 CSV 导入到 MySQL 中的列

使用 LOAD DATA INFILE 命令将 CSV 文件导入到 MySQL 表时,通常会出现以下情况:遇到CSV文件中的列数与目标表中的列数不同的场景。在这种情况下,跳过特定列就变得很有必要。

问题:

假设您有一个包含 11 列的 CSV 文件和一个仅包含 9 列的 MySQL 表。您希望将 CSV 文件的第 1-8 列直接映射到表的第 1-8 列,但跳过接下来的两列,并将 CSV 文件的第 11 列映射到表的第 9 列。

解决方案:

要在导入过程中跳过列,您可以利用 MySQL 为用户变量赋值的功能,而不将它们插入到表列中。这是通过将跳过的列分配给用户变量,有效地忽略它们的值来实现的。

这是完成所需映射的修改后的 SQL 命令:

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'
(column1, @dummy1, column2, @dummy2, column3, column4, column5, column6, column7, column8, @dummy3, column9);

在此修改后的命令中,两个用户变量(@dummy1 和 @dummy2)分别用于捕获 CSV 文件中第九列和第十列的值,但这些值未分配给任何表列。因此,它们被有效地跳过,从而使 CSV 文件的第 11 列正确映射到表的第 9 列。

以上是如何在 CSV 导入 MySQL 期间跳过列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn