MySQL哪里有问题
我遇到以下问题:MySQL哪里有问题,mysql,sql,Mysql,Sql,我遇到以下问题: 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了,所以它有点生疏了。该错误表示附近的错误,其中guessed=0。其思想是,当guess=0时,它只更新guess\u计数
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了,所以它有点生疏了。该错误表示附近的错误,其中guessed=0
。其思想是,当guess=0
时,它只更新guess\u计数
我相信这很简单,但我找不到
(我使用的是PDO,但这与SQL错误无关)给出的答案如下:
简而言之:使用IF(condition,true,false)
而不是WHERE condition
关于使用进行重复密钥更新
和WHERE
,这可能会有帮助:这很有效!如果您有多个字段需要在一个变量上更新,这似乎有点愚蠢-幸运的是,我只有一个!使用:…在重复键上更新guess\u count=CASE,当guess=0时,则guess\u count+1,否则guess\u count结束代码>感谢您将此添加为答案。