20

データベースとテーブルを作成しました。また、必要なすべてのフィールドを作成しました。行の ID を含む 46 個のフィールドを作成しました。CSV には ID フィールドが含まれておらず、列のヘッダーも含まれていません。私はこれらすべてに慣れていませんが、これを理解しようとしています。私はここで怠惰に答えを求めているのではなく、道順を探しています。

CSV をインポートする方法を見つけようとしていますが、auto_increment が最初に作成したフィールドである ID フィールドに入力されることを期待しているため、2 番目のフィールドからデータのインポートを開始します。

これらの手順を試してみましたが、うまくいきませんでした。誰でも洞察を提供できますか?

  1. CSV ファイルの列名は、テーブルの列名と一致する必要があります
  2. 必要な .csv ファイルを参照します
  3. LOAD DATA オプションを使用して CSV を選択します
  4. テーブルデータをファイルに置き換えるのチェックボックス「オン」
  5. [終了するフィールド]ボックスに、次のように入力します。,
  6. ボックスで囲まれたフィールドでは、"
  7. 箱に逃げられたフィールドでは、\
  8. ボックスで終了する行ではauto
  9. [列名] ボックスに、列名を like で区切って入力し,ますcolumn1,column2,column3
  10. Use LOCAL keywordのチェック ボックスをオンにします。

編集:

CSVファイルは32.4kb

私のCSVの最初の行は次のとおりです。

Test Advertiser,23906032166,119938,287898,,585639051,287898 - Engager - 300x250,88793551,Running,295046551,301624551,2/1/2010,8/2/2010,Active,,Guaranteed,Publisher test,Maintainer test,example-site.com,,All,All,,Interest: Dental; custom geo zones: City,300x250,-,CPM,$37.49 ,"4,415","3,246",3,0,$165.52 ,$121.69 ,"2,895",805,0,0,$30.18 ,$37.49 ,0,$0.00 ,IMPRESSIONBASED,NA,USD
4

3 に答える 3

46

インポート中に特定の列の値を MySQL に設定できます。フィールドが自動インクリメントに設定されている場合、idインポート中に null に設定すると、MySQL が増分値をフィールドに割り当てます。phpMyAdmin の SQL タブに次のように入力してみてください。

LOAD DATA INFILE 'path/to/file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' SET id=null;
于 2010-06-11T20:09:22.693 に答える
17

このページを見て、探しているものがあるかどうかを確認してください。1 つのテーブルだけを扱っているので、これで十分です。MYSQL ロード データ インファイル

たとえば、次のようにします。

LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4);

それはあなたにアイデアを与えるはずです。もちろん、上記のリンクに示されているように、追加できるオプションは他にもあります。

于 2010-06-11T19:56:51.717 に答える
5

インポート ファイルがローカルの場合は、必ず LOAD DATA LOCAL INFILE を使用してください。:)

于 2013-06-20T21:40:07.327 に答える