LOAD DATA LOCAL INFILE を使用してデータを一時テーブル mid にロードしています。次に、更新クエリを使用して、テーブル product で見つかった更新を更新しています。両方で一致するフィールドはモデルのみです。
$q = "LOAD DATA LOCAL INFILE 'Mid.csv' INTO TABLE mid
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES
(@col1,@col2,@col3,@col4,@col5,@col6) set model=@col1,price=@col3,stock=@col6 ";
mysql_query($q, $db);
mysql_query('UPDATE mid m, products p set p.products_price= m.price,p.products_quantity= m.stock where p.products_model= m.model');
それは機能し、製品テーブルを更新します。私が抱えている問題は、更新ステートメントを使用しているため、中間テーブルに新しいレコードが挿入されないことです。
挿入クエリと重複の更新を見てきました.1つのテーブルで動作する必要がある場合の例をたくさん見ましたが、別のテーブルと一致させる必要がある場合はありません。
間違ったことを探しているか、これを行う別の方法があります。
助けていただければ幸いです。
よろしく
ナフ