2017-03-27 16 views
0

現在、私はskus、製品の数量とコメントでいっぱいのテーブルを持っています。私はそれに場所という新しいフィールドを追加しました。MySQL:2つのテーブルで同じ文字列を一致させ、一致するテーブルを変更して1つのフィールドを変更します。

私はskus、名前、場所のみを含む私たちの目録ソフトウェアからエクスポートしたcsvを持っています。

スキューが違うので、私はcsvの製品名を使用して現在のテーブルと照合します。それが一致する場合、私は場所フィールドを更新します。

私はこれをいくつかの異なるバージョンで試しましたが、毎回テーブルから離れてしまいました。私はそれがCSVかmysqlかどうか分からない。私はそれがゆがんで私のテーブルを投げ見つけ、このIMを使用する際に何らかの理由で

CREATE TEMPORARY TABLE products_clone_table LIKE product_list_clone; 

LOAD DATA LOCAL INFILE '/home/account/product_locations.csv' INTO TABLE products_clone_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (SKU, PRODUCT_NAME, LOCATION); 

UPDATE product_list 

JOIN products_clone_table ON products_clone_table.PRODUCT_NAME = product_list.PRODUCT_NAME 

SET product_list.LOCATION = products_clone_table.LOCATION; 

DROP TEMPORARY TABLE products_clone_table;" 

は、ここに私のMySQL文です。私がそれを記述できる唯一の方法は、それを不規則に表示している端末が削除されていることです。 SKUのいくつかは欠落しており、一致するはずの場所もあります。

誰にでもアイデアがあれば教えてください。私はここで間違って何をしていますか?

答えて

0

問題はCSVそのものでした。私のように苦労している人には、csvへのエクスポート時にあなたのフィールドを引用して、/nだけでなく、/r/nに行末を設定してください。

関連する問題