使用选择性列映射将 CSV 数据导入 MySQL 表
导入包含超出或不匹配表结构的列的 CSV 文件时,在导入过程中可能需要跳过某些列。在本例中,我们的目标是从 CSV 文件中跳过第 9 列和第 10 列,并将第 11 列映射到 MySQL 表中的第 9 列。
为了在 LOAD DATA INFILE 操作期间跳过列,MySQL 提供了一种分配机制将不需要的值添加到用户定义的变量中,然后在列映射中完全忽略该变量。
以下修改后的示例演示了这一点技术:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (col1, @dummy1, col2, @dummy2, col3, col4, col5, col6, col7, col8, @dummy3, col11)
在此示例中,创建 @dummy1、@dummy2 和 @dummy3 用户定义变量来分别存储第 9、10 和 11 列中不需要的数据。然而,第 11 列随后在表定义中显式分配给第 9 列。
通过利用这种方法,系统会跳过 CSV 文件中的第 9 列和第 10 列,并成功将第 1-8 列和第 11 列映射到相应的列。 MySQL 表中的列。
以上是如何通过选择性列映射和跳过列将 CSV 数据导入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!