我想要完成的是 - 仅当高分优于当前分数时,才使用某些值更新表格。
得到了包含userId、highScore、something、dateLastPlayed列的表
userId为 1 的用户已经超过了自己的分数,在这种情况下,我想更新该行中的所有字段。如果他没有击败自己的高分,我只想更新dateLastPlayed字段。
到目前为止,这就是我插入东西的方式
INSERT INTO table VALUES ('$userId', '$highScore', '$something', '$dateLastPlayed') ON DUPLICATE KEY UPDATE highScore='$highScore', something='$something', dateLastPlayed='$dateLastPlayed'
请注意,userId 具有唯一键。
这很好用,但是每次都会更新highScore、something和dateLastPlayed字段。我想更新字段highScore并且仅当变量 $ highScore大于数据库中当前设置的值时才更新。
我已经阅读了 MySQL 文档,但我不太明白。我怎样才能做到这一点?请注意,我可以使用多个查询和获取数据来执行此操作,然后使用该数据进行更多查询,但我觉得这根本不是要走的路,你们需要几秒钟才能想出一个绝妙的方法来解决问题。
非常感谢!