У меня есть следующий запрос MySQL, который я использую с PHP (5.2).
DELETE t1.*, t3.* FROM
forum_posts AS t1,
forum_topics AS t2,
user_points AS t3
WHERE t1.topic_id = t2.topic_id
AND t2.deleted = 1
AND t1.post_id = t3.id
AND t3.type = 'post'
AND t1.post_author = t3.profile_author
Однако он не работает так, как я собираюсь (ничего не происходит!), Позвольте мне объяснить:
Я собираюсь выполнить запрос, чтобы удалить все строки в таблице forum_posts
и / или (я говорю "и / или", потому что это будет зависеть от удаления строк)все строки в user_points
table => [если тема, в которой было создано сообщение, была удалена ( для вашей информации, чтобы избежать путаницы, она действительно просто "скрыта" , мы определяем это, проверяя,равно 1
)].
Я надеюсь, что структура запроса сама по себе это объясняет, topic_id
в основном используется для JOIN
таблиц вместе.
Запрос выполняется нормально (даетнет ошибок MySQL или PHP, поэтому я хотел бы предположить, что синтаксис в порядке?), я проверил существующие и удаленные разделы БД (столбец deleted
установлен на 1
) и их сообщения, которые также существуютдля этих тем (так что это не тот случай, когда нет данных).
Цените все ответы.