使用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