MySQLのLOAD文を使ってCSVファイルをデータベースにインポートしたい
MySQLのLOAD文を使ってCSVファイルの内容をデータベースにインポートしたいと思っています。
そこで、下記のような内容のCSVファイルを作成しました
ファイル名:word_list1.csv
↓ファイルの内容↓
1,apple
2,egg
3,music
4,movie
5,baseball
作成した word_list1.csv の保存場所は
C:/hole_problem/word_list1.csv
です
また、word_list1.csv の内容をインポートするデータベース側のテーブルは下記のコマンドにより定義されています
CREATE TABLE word_list(
id INT AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
CONSTRAINT id_pri PRIMARY KEY (id)
) ENGINE=InnoDB;
CSVファイル word_list1.csv とデータベース側のテーブル word_list の準備が整ったところで下記のコマンドを実行しました
LOAD DATA LOCAL INFILE "C:/hole_problem/word_list1.csv" INTO TABLE word_list FIELDS TERMINATED BY ',';
コマンドはエラーなどなく正常に実行されましたが、実行後にデータベースを参照すると下記のようになっています
id name
2 egg
3 music
4 movie
5 baseball
35 apple
ここで質問なのですが、なぜ、CSVファイルでの順番とインポート後のデータベースでの順番が異なってきてしまうのでしょうか?
教えて頂けると助かります。
また、どのようにすれば順番が変わることなくCSVファイルの内容をデータベースにインポートできるのでしょうか?
お礼
ご回答ありがとうございました。目録の実体は下記ですね。 C:\Users\xxxx\AppData\Roaming\Microsoft\Bibliography\Sources.xml うーん。既存データをxmlに変換する方が速いか、word上から打ち込み直す方が速いか。少し考えます。