MySQL への CSV インポート中に列をスキップするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-17 12:00:04
オリジナル
266 人が閲覧しました

How to Skip Columns During CSV Import to MySQL?

MySQL への CSV インポートの列をスキップする

LOAD DATA INFILE コマンドを使用して CSV ファイルを MySQL テーブルにインポートする場合、一般的に次のことが行われます。 CSV ファイル内の列の数がターゲット テーブル内の列と異なるシナリオが発生します。このような場合、特定の列をスキップする必要があります。

問題:

11 列を含む CSV ファイルと、9 列のみを含む MySQL テーブルがあるとします。 CSV ファイルの列 1 ~ 8 をテーブルの列 1 ~ 8 に直接マップしたいとしますが、次の 2 つの列をスキップして、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);
ログイン後にコピー

この変更されたコマンドでは、2 人のユーザー変数 (@dummy1 および @dummy2) は、それぞれ CSV ファイルの 9 列目と 10 列目の値を取得するために使用されますが、これらの値はテーブルのどの列にも割り当てられません。その結果、それらは事実上スキップされ、CSV ファイルの列 11 がテーブルの列 9 に正しくマッピングされるようになります。

以上がMySQL への CSV インポート中に列をスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート