恐るべき MySQL コードを投稿します。
INSERT INTO monthlystats (id, server, time, uptime, players, rank)
VALUES (09126, 6, 0912, 302, 0, 1)
ON DUPLICATE KEY UPDATE uptime = if(302 > uptime, 302, uptime), if(0 > players, 0, players), if(1 > rank, 1, rank)
さて、私がやろうとしていることを説明しましょう。
- 「id」には一意のインデックスがあります。そのインデックスがまだ存在しない場合は、それらの値を挿入したいと思います。
- 重複するキーがある場合は、代わりに 3 つのフィールドのそれぞれを UPDATE したいのですが、新しい値が現在テーブルにある値よりも大きい場合のみです。
私はひどく間違ったことをしているように見えます。率直に言って、何をすべきかわかりません。私はそれを良くしようとしましたが、それは恐ろしい混乱であることが判明しました.
誰かが私を正しい方向に導き、このようなことを行う方法を私 (および学ぼうとしている他の人) に教えてくれることを願っています。ありがとうございました。