データベースとテーブルを作成しました。必要なフィールドもすべて作成しました。行のIDを含む46のフィールドを作成しました。 CSVにはIDフィールドが含まれておらず、列のヘッダーも含まれていません。私はこれすべてに新しいですが、これを理解しようとしています。私はここで怠惰な答えを求めているのではなく、方向を探しています。
CSVをインポートする方法を理解しようとしていますが、auto_incrementが最初に作成したフィールドであるIDフィールドに入力されることを期待しているため、2番目のフィールドからデータのインポートを開始します。
私は運が悪くてこれらの指示を試しました。誰かが洞察を提供できますか?
,
と入力します"
\
auto
,
のようにcolumn1,column2,column3
で区切って列名を入力します編集:
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
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;
このページを見て、探しているものが含まれているかどうかを確認してください。 1つのテーブルしか扱っていないので、必要なのはこれだけです。 MYSQL LOAD DATA INFILE
したがって、たとえば、次のようなことができます。
LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4);
それはあなたにアイデアを与えるはずです。もちろん、上記のリンクにあるように、追加できるオプションは他にもあります。
インポートファイルがローカルの場合は、必ずLOAD DATA [〜#〜] local [〜#〜] INFILEを使用してください。 :)