Как удалить теги из базы, все и сразу?
Dayver |
|
---|---|
Сорри, поправил код выше - попробуй так. Pavlo Tkachenko aka Dayver
|
|
Отредактировано: Dayver (24.03.2011 09:27, 12 лет назад) |
jcrush |
|
---|---|
Fatal error : SQL error : Table '123.sed_tag' doesn't exist SEO блог: http://blog.stfw.ru/
|
Dayver |
|
---|---|
Pavlo Tkachenko aka Dayver
|
jcrush |
|
---|---|
Думаю что дело в моем воспаленном мозге, но какой именно отдел мозга не понятно... =) SEO блог: http://blog.stfw.ru/
|
Clever |
|
---|---|
Продолжим... Как удалить теги, страниц соответствия которых уже нет? |
Trustmaster |
|
---|---|
Удаляем ссылки на теги для несуществующих страниц:
DELETE sed_tag_references FROM sed_tag_references LEFT JOIN sed_pages ON sed_tag_references.tag_item = sed_pages.page_id WHERE sed_tag_references.tag_area = 'pages' AND sed_pages.page_id IS NULL;
Удаляем теги, на которые нет ссылок:
DELETE FROM sed_tags WHERE 0 = (SELECT COUNT(*) FROM sed_tag_references WHERE sed_tag_references.tag = sed_tags.tag);
May the Source be with you!
|
|
Отредактировано: Trustmaster (01.04.2011 06:31, 12 лет назад) |
jcrush |
|
---|---|
а как удалить все таки теги которые юзались 2 и мене раз? SEO блог: http://blog.stfw.ru/
|
Trustmaster |
|
---|---|
Пробуем DELETE FROM sed_tags WHERE (SELECT COUNT(*) FROM sed_tag_references WHERE sed_tags.tag = sed_tag_references.tag) <= 2; DELETE FROM sed_tag_references WHERE (SELECT COUNT(*) FROM sed_tags WHERE sed_tag_references.tag = sed_tags.tag) = 0;
May the Source be with you!
|
|
Отредактировано: Trustmaster (02.04.2011 08:22, 12 лет назад) |
Clever |
|
---|---|
Спасибо большое. |
jcrush |
|
---|---|
Trustmaster, Первый запрос убил 1500 значений, второй 9500, и грохнул все теги, как то не то... SEO блог: http://blog.stfw.ru/
|
Trustmaster |
|
---|---|
Пардон, ошибся в знаке в первом запросе. Поправил. May the Source be with you!
|