-2
異なる条件を挿入します。レベル、id_gameとUSER_IDがすでに挿入されている場合Updateまたは私はこのデータを持っている
user_id id_game level score
10 1 1 200
10 1 1 400
10 1 2 500
10 2 1 230
11 1 1 345
私は新しいテーブルに移行する。このデータを、アイデアがある、私は最高のスコアを見ます。したがって、この例のために私が保存したい:
INSERT INTO %s (user_id, id_game, level, score)
VALUES (%d, %d, %d, %d) ON DUPLICATE KEY UPDATE user_id = %d, id_game = %d, score = %d.
でもない仕事:
user_id id_game level score
10 1 1 400
10 1 2 500
10 2 1 230
11 1 1 345
私は、単一のSQLでやりたい、私はこのようなsomethinkを試してみました。私を助けてくれますか?
※ただし*は意味しませんか?任意のエラー? – Jens
集約MAX()関数とGROUP BYを使用したクエリが役に立ちます。キーは何に基づいていますか? –
@MarkBaker指定されたユーザーのスコアが大きい場合、id_gameレベルスコアが更新されます(存在しない場合)指定されたユーザー、id_game、レベルが挿入されます – user7424312