Условно в MySQL ON DUPLICATE KEY UPDATE не работает, как я бы хотел - PullRequest
0 голосов
/ 28 февраля 2020

Я хотел бы добавить строку и присвоить столбцу с именем count значение 1, за исключением случаев, когда строка уже существует - тогда я бы хотел уменьшить значение count на 1, но только если count - это еще не 0.

Это не выдает ошибку, но всегда устанавливает значение 0 (вместо уменьшения текущего значения на 1) независимо от того, является ли исходное значение, например, 7 .. .

INSERT INTO `requestCount` (`requesterID`, `count` ) 
    VALUES ( '1407181', 1 ) 
ON DUPLICATE KEY 
    UPDATE `requesterID`=`requesterID`, 
            `count` = IF(`count` <> 0, `count`=`count`-1, `count`)

Может, кто-нибудь объяснит, как правильно закодировать это, и почему вышеизложенное всегда устанавливает count в 0?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...