• 締切済み

ファイルからのデータ更新について

表題の件について質問させていただきます。 mysqlでカンマつきのCSVファイルからデータをテーブルにインポートする際、 load data infile 'ファイルディレクトリ情報' update table テーブル名 fields terminated by ','; でインポート可能かと思います。 では、このファイルをインポートしたあとに、CSVのデータを変更して同じコマンドを使用すると、レコードが追加され、「更新」にはなりません。 ファイルからのレコード更新はどのようにすれば宜しいでしょうか? 例として下記のDB定義、インポートファイルを使用しています。 データベース定義 bang(INT) name(VARCHAR(10)) ten (INT) インポートファイル変更前 1,山本,85 2,木村,58 3,山崎,95 インポートファイル変更後 1,山本,85 2,木村,58 3,今田,95      ←name変更 何卒よろしくお願いします。

みんなの回答

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

置き換えたいときは、まず、その行を一意に特定するためのuniqueなカラムまたはindexがあることが前提で、それがあれば、replaceを指定すれば置き換えになります。 LOAD DATA LOCAL INFILE 'file_name.txt' REPLACE INTO TABLE tbl_name マニュアル参照 http://dev.mysql.com/doc/refman/5.1/ja/load-data.html

noname#119957
noname#119957
回答No.1

csvで更新するSQLがあればそれを探してください。^^ ** 無いばあいは、 (1)一時的に使用するテーブルをクリア (2)CSVから一時的なテーブルに読み込む(インポート) (3)SQLでテーブルのデータを更新 では?