現在、mySQL LOAD DATA INFILE を使用して csv ファイルをデータベースに挿入しています。この csv ファイルは、製品データを最新の状態に保つために、毎日サーバーにダウンロードされます。
私が知りたいのは、テーブルを新しい csv で更新し、既存のデータを変わらない場所に保存するにはどうすればよいかということです。
これが私の現在の声明です:
LOAD DATA LOCAL INFILE '$file' REPLACE INTO TABLE products FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\\\' IGNORE 1 LINES (aw_product_id,merchant_id,merchant_image_url,aw_deep_link,description,in_stock,merchant_name,brand_name,display_price,product_name,rrp_price,merchant_category
これは正常に機能しますが、ID 列を完全に新しいセットに置き換え、無視したい列をデフォルトの状態に戻します。たとえば、値が 0 または 1 の「Published」という列があります。REPLACE を使用すると、その列が 0 に戻ります。
REPLACE を使用して一部の列を無視するにはどうすればよいですか?