У меня плохое понимание if/else в MySQL. У меня есть простая база данных Messaging, в которой я хочу удалить сообщение (строку), но ТОЛЬКО, если оба пользователя удалили это с их конца.MySQL и PHP if/else
Так databate выглядит следующим образом:
----|---------|-------------|------------
mid | message | user1delete | user2delete
----|---------|-------------|------------
1 | hi! | no | yes
----|---------|-------------|------------
Так что я хочу посмотреть на «середине» 1, если другой пользователь уже удален (скрыть) сообщение, удалить строку. Иначе просто ОБНОВЛЯЙТЕ «да» у нужного пользователя. Возможно ли это сделать в одном запросе MySQL, или я должен использовать инструкцию PHP if/else с несколькими запросами?
Что-то, что будет выглядеть ложь:
SELECT * FROM MESSAGES
IF user1delete = NULL or "no"
THEN UPDATE user2delete = "yes"
ELSE IF user1delete = "yes" AND user2delete = "yes"
THEN DELETE where mid = 1
Спасибо! (Я надеюсь, что мой вопрос ясен ...)
EDIT: Я имел в виду, чтобы "обновить" да ...
Просто выберите все строки, которые вы хотите, на основе критериев, которые вам нужны (оба подтверждения подтверждения «да», я предполагаю) и удалить их. Это довольно простой SQL. – GordonM
Не слишком ясно. Был ли один из столбцов нулевым? Кажется, что вы хотите что-то вроде этого: DELETE FROM table WHERE user1delete = 'yes' и user2delete = 'yes' –
Если дубликаты недействительны, то добавление уникального ключа в середину, таким образом вы получите ошибку при вставке, и вы может с этим справиться. – Orangepill