-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