首頁  >  文章  >  資料庫  >  如何在 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