我遇到以下问题的问题:
INSERT INTO guess (user_id, logo_id, guess, level) VALUES (:user_id,:logo_id,:guess,:level) ON DUPLICATE KEY UPDATE guess_count = guess_count + 1 WHERE guessed=0
我还没有使用SQL一段时间,所以它有点生疏了。该错误表示WHERE guessed=0
附近的错误。我们的想法是,它只会在guess_count
时更新guessed = 0
。
我确定它很简单,但我无法找到它......
(我使用PDO,但这对SQL错误并不重要)
答案 0 :(得分:1)
showdev给出的答案如下:ON DUPLICATE KEY UPDATE with WHERE condition
简而言之:使用IF(condition, true, false)
代替WHERE condition
。