0

テキストファイルtabDelimited/csvをテーブルとしてmysqlに直接ロードする必要があります。私は同じことをするためにページ(https://dev.mysql.com/doc/refman/5.5/en/loading-tables.html)をフォローしています。

testfile.txt

field1,field2
"abc",1
"def",2
"ghi",3

ただし、次のメッセージが表示され続けます。

mysql> LOAD DATA INFILE 'testfile.txt' INTO TABLE myTable IGNORE 1 LINES;
ERROR 1146 (42S02): Table 'test.myTable' doesn't exist

'load'は、テーブルを作成した後でのみ使用できることがわかります。したがって、エラーが予想されます。複数のファイルがあり、テーブルを1つずつ作成しないようにする必要があります。同じことをする他の方法はありますか?

4

2 に答える 2

1

テーブルにデータを挿入する前に、テーブルを作成する必要があります。

複数のファイルがある場合は、テーブルを1回作成してから、複数のLOAD DATA INFILE呼び出しを使用してデータを追加します。

MySQLは、CSVファイルからデータのスキーマを自動的に判別できません。テーブルの作成は、列とインデックスまたはキーのデータ型を確立するために不可欠です。

于 2012-11-01T17:15:53.420 に答える
1

テーブルがまだ作成されていないようです。

ニーズに合わせて曲げることができる単なる例です。存在しない場合はテーブルを作成します(field1 VARCHAR(3)、field2 INTEGER);

テーブルの作成に関する完全なドキュメント:http://dev.mysql.com/doc/refman/5.1/en/create-table.html

于 2012-11-01T17:16:33.550 に答える