|
|
|
| Не секрет, что на форума часто используются темы-переносы. Когда посетитель ошибается с выбором раздела форума, модератор переносит тему в целевой раздел, при этом на старом месте остается тема-ссылка, которая позволяет найти посетителю новое месторасположение его темы. Со временем таких тем-переносов накапливается изрядное количество и они занимают место в архивах. Для удаления таких тем я решил воспользоваться полем для счетчика количества сообщений number, пометив количество сообщений равным 0 (предварительно были устранены проблемы с ошибками базы данных, когда значение счетчика ошибочно приравнивалось 0).
UPDATE
(SELECT id_theme
FROM archive_posts
WHERE id_theme IN (
SELECT id_theme
FROM archive_themes
WHERE number = 1
) AND
name LIKE 'Тема%') AS mark
LEFT JOIN
archive_themes
ON mark.id_theme = archive_themes.id_theme
SET archive_themes.number = 0;
| После этого запроса не составило труда удалить сообщения из таблицы archive_posts
DELETE FROM archive_posts
WHERE
id_theme IN (SELECT id_theme
FROM archive_themes
WHERE number = 0)
| и таблицы archive_themes
DELETE FROM archive_themes
WHERE number = 0
|
| |
|
|