在重复时仅在条件上更新多个字段

时间:2011-07-26 22:19:10

标签: php mysql

寻找mysql / php的帮助

如果用户再次播放测验,我正在使用查询来更新表格。

问题是,我现在正在使用此查询:( KEY设置为电子邮件) ON DUPLICATE KEY UPDATE correct = GREATEST(correct, $correct), time = LEAST(time, $time),

但现在我意识到即使分数不高也会升级时间。

有任何解决此问题的提示吗?我想只在得分更高或相同的情况下更新时间。

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题

... ON DUPLICATE KEY UPDATE your_tablename.time = IF($correct >= your_tablename.correct, $time, your_tablename.time), your_tablename.correct = GREATEST(your_tablename.correct, $correct)