私はテーブルを持っています(name, date, stat1, stat2, stat3)
、(name, date)
はPKです。行を挿入すると重複したキーが表示され、3つの統計を合計する必要があります。私はJavaのPreparedStatementで次のクエリを使用します:重複キーのMySQL挿入行は、複数の列を更新します
INSERT INTO tb (name, date, stat1, stat2, stat3)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE stat1 = stat1 + ?, stat2 = stat2 + ?, stat3 = stat3 + ?
これを達成するためのより簡潔なクエリがありますか?私はクエリを単純化しているので、そこには10以上の統計があります。
です。しかし、すべての統計を繰り返す必要はありませんか? – DrXCheng
悲しいことに、メタ構文はありません。列挙は可能です。 – vearutop
これは古い質問ですが、別のオプションでは統計情報を文字列に書き込んだり、分割してループしたりする手順があります。少ないコードではないかもしれませんが、よりダイナミックになります。 – inarilo