ovi8 5 10/25/16 16:52 Например есть одна категория, к ней добавляется цифра 1 (forum.ru/forum/1-kategoria), ко второму уже добавляется цифра 2 и так далее, но если когда-то удалял форумы, отсчёт не прекращается, например: на сайте всего два форума, но у одного форум/1-первыйфорум, а у другого форум/51-второйфорум, как сделать чтобы второй форум стал форум/2-второйфорум. Поделиться сообщением Ссылка на сообщение
siv1987 2628 10/25/16 17:36 Так просто его не поменять, к нему привязаны сущности из разных таблиц, это как минимум темы и другие вложенные форумы.Прежде чем выполнить запрос сделайте бэкап этих двух таблиц. UPDATE ibf_forums f LEFT JOIN ibf_forums f2 ON f.id=f2.parent_id LEFT JOIN ibf_topics t ON f.id=t.forum_id SET f.id=новый_ид, f2.parent_id=f.id, t.forum_id=f.id WHERE f.id=старый_ид 1 Поделиться сообщением Ссылка на сообщение
ovi8 5 10/25/16 17:51 Понятно, всё очень сложно, лучше не буду трогать, спасибо. Поделиться сообщением Ссылка на сообщение
siv1987 2628 10/25/16 18:03 С двумя форумами можно попытаться. Только не забудьте сбросить AUTO_INCREMENT в таблице ibf_forums, иначе последующие форумы также будут создаваться по старой нумерации. ALTER TABLE ibf_forums AUTO_INCREMENT = MAX id +1Где MAX id +1 - максимальный ид в таблице + 1 1 Поделиться сообщением Ссылка на сообщение