У меня есть таблица комментариев и таблица сообщений
Всякий раз, когда сообщение удаляется, выполняется запрос, чтобы вычесть количество комментариев (которые будут удалены позже) из каждого комментария пользователя
Таким образом, если у пользователя есть 2 комментария в сообщении, и это сообщение удалено, их баланс должен иметь 2 вычтенных из него
Мой запрос выглядит следующим образом:
UPDATE users
INNER JOIN comment ON users.id = comment.author
SET comment_count = comment_count - 1
WHERE comment.post = 1
У пользователя A есть 2 комментария с .post = 1, но по какой-то причине пользователь получает только значение comment_count, вычитаемое 1 раз, когда это должно произойти дважды
Я думаю, что мой синтаксис правильный, потому что когда я:
SELECT *
FROM users
INNER JOIN comment ON users.id = comment.author
WHERE comment.post = 1
Я получаю два результата для пользователя A
Разве UPDATE
не должен повторять эти два результата, вычитая каждый раз?
Может кто-нибудь объяснить, чего мне не хватает? спасибо