使用 ID 列为自增字段的现有表时,通过 LOAD 导入数据DATA INFILE 可能会带来挑战。本文提供了处理此类场景的有效解决方案。
为了清楚起见,请考虑以下表结构:
--------------------- ID | AField | BField| ---------------------
其中 ID 是自动递增字段。
创建一个 CSV 文件,该文件启用如果数据库使用自动增量数字自动填充 ID 字段,理想的方法是在 CSV 中仅包含非自动增量列。随后,在 LOAD DATA INFILE 语句中显式将 ID 列设置为 NULL。
这种方法可确保数据库在导入过程中为 ID 字段生成自动递增数字。例如,考虑以下 CSV:
afieldvalue, bfieldvalue
LOAD DATA INFILE 语句如下所示:
LOAD DATA INFILE '/tmp/data.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' (AField, BField) SET ID = NULL;
通过这种方式,可以在MySQL中通过LOAD DATA INFILE导入数据时无缝填充自增ID字段。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3