-2
我有這樣的數據:更新或插入不同的條件
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
這個數據我想遷移到一個新的表,這個想法是,如果水平,id_game和USER_ID已經插入,我看向最高分。因此,對於這個例子,我想保存:
user_id id_game level score
10 1 1 400
10 1 2 500
10 2 1 230
11 1 1 345
我想在一個單獨的SQL做的,我試過somethink這樣的:
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.
但不起作用。你能幫我嗎 ?
*但不工作*的意思?有什麼錯誤? – Jens
使用聚合MAX()函數和GROUP BY的查詢可能會有所幫助;但基於的關鍵是什麼? –
@MarkBaker如果指定用戶的分數較大,id_game,我們更新分數,如果不存在指定用戶,id_game,我們插入的級別 – user7424312