ID 列が自動インクリメント フィールドである既存のテーブルを操作する場合、LOAD を通じてデータをインポートするDATA INFILE は課題を引き起こす可能性があります。この記事では、このようなシナリオに対処するための効率的なソリューションを提供します。
わかりやすくするために、次のテーブル構造を考慮してください:
--------------------- ID | AField | BField| ---------------------
ID は自動インクリメント フィールドです。
データベースで 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