PHP経由でクエリを送信するときに、複合キーを持つテーブルのUpsert機能を作成するにはどうすればよいですか?
キーが注文番号とアイテム番号の両方である order_items テーブルがあります。次に、注文要素の xml ドキュメントを返すストアへの API があります (これを解析して配列にします)。この文字列を取得して、既に存在するものを更新し、存在しないものを挿入したいと思います。数百の注文 (場合によっては数千の品目) が存在する可能性があるため、各品目ごとに品目が存在するかどうかを確認するクエリを実行したくありません。
Merge が答えかもしれないと思いましたが、私のデータはテーブルに存在しません (テーブルに書き込むのは配列です)。データの文字列を既存のテーブルとマージする方法はありますか? たとえば、次のようなものです。
$query = "IF a.order_id and a.item_id --already exist
update db.dbo.order_items
SET a.quantity = $qty, a.status = $status ....
ELSE
INSERT (order_id, item_id, quantity, status)
VALUES
($order_id, $item_id, $qty, $status)";
run_query($query);
助けてくれてありがとう。