0

我遇到以下查询的问题:

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_countwhen guessed = 0

我确定这很简单,但我找不到它......

(我正在使用 PDO,但这对于 SQL 错误无关紧要)

4

1 回答 1

1

showdev给出的答案在这里:ON DUPLICATE KEY UPDATE with WHERE condition

简而言之:使用IF(condition, true, false)而不是WHERE condition.

于 2013-06-07T00:19:13.667 回答