LOAD DATA LOCAL INFILE ~ REPLACE
MySQLでCSVデータを一括登録するのにLOAD DATA LOCAL INFILE文を使っていたが、同じキーを持つレコードでCSVの方を修正してもデータベースに反映されなかった。どうやら、同じキーを持つレコードは放置されるようだった。
更新を反映させるためには、
LOAD DATA LOCAL INFILE 'ファイル名' REPLACE INTO~
とREPLACEを指定するそうだ。
指定しないと、IGNOREを指定したのと同じで同じキーを持つレコードは更新しないようだ。
でも、新しいデータファイルではなくなってしまったレコードは残ったままみたいなので、CCSVと完全一致させたかったら、一度テーブルをクリアした方がいいのかも。
コメント
テーブルは片付けないとね・・・。
そ、そうだね・・・
(この散らかりようを見られてる・・・生霊??)