У меня есть две колонки:

reaction AND status

ТЕКСТ по умолчанию в статусе столбца:

off

Как:

            UPDATE profile_post SET    
            status = CASE                   
            WHEN 'off' THEN 'on', reaction +1
            WHEN 'on' THEN 'off', reaction -1
            END
            WHERE post = '$postid1'

Я пытался использовать WHEN CASE, но почему-то все время выдает ошибки.

0
André Santos 27 Фев 2021 в 22:18

1 ответ

Лучший ответ

Вы обновляете несколько значений, поэтому можете попробовать что-то вроде этого:

UPDATE profile_post SET
   reaction = reaction + 1,
   status = CASE
                 WHEN status  = 'off' THEN 'on'
                 WHEN status = 'on' THEN 'off'
                 ELSE 'on'

   END
WHERE post = '$postid1'

ИЗМЕНИТЬ

Чтобы добавить условие в столбец «реакция», как указано в ответе, попробуйте следующее:

UPDATE profile_post SET
   reaction = CASE 
                WHEN status = 'off' THEN reaction + 1
                ELSE reaction - 1
              END,
   status = CASE
               WHEN status = 'on' THEN 'off'
               ELSE 'on'
            END
WHERE post = '$postid1'
2
Johnatha Relvas 27 Фев 2021 в 21:44