SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » MySQL, MariaDB » Как удалить дубли из таблицы и обновить индексы связанных таблиц
Как удалить дубли из таблицы и обновить индексы связанных таблиц [сообщение #3168] Fri, 22 September 2023 15:31 Переход к следующему сообщению
Cr3at0r в настоящее время не в онлайне  Cr3at0r
Сообщений: 2
Зарегистрирован: September 2023
Junior Member
Допустим есть таблицы posts, tags и pivot-таблица post_tag для связи многие ко многим.
В таблице tags поле name не было сделано уникальным и юзеры добавили множество неуникальных тегов.
Как удалить все дубликаты из tags и автоматически обновить post_tag таким образом, чтобы индексы удаленных тегов стали индексами тех тегов, что остались после удаления и соответствуют им по полю name?
Re: Как удалить дубли из таблицы и обновить индексы связанных таблиц [сообщение #3169 является ответом на сообщение #3168] Fri, 22 September 2023 16:16 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 276
Зарегистрирован: June 2022
Senior Member
Different ways to SQL delete duplicate rows from a SQL Table
Re: Как удалить дубли из таблицы и обновить индексы связанных таблиц [сообщение #3170 является ответом на сообщение #3169] Fri, 22 September 2023 16:22 Переход к предыдущему сообщениюПереход к следующему сообщению
Cr3at0r в настоящее время не в онлайне  Cr3at0r
Сообщений: 2
Зарегистрирован: September 2023
Junior Member
Нет проблемы удалить дубли, у меня проблема обновить индексы, чтобы сохранить информацию.
Re: Как удалить дубли из таблицы и обновить индексы связанных таблиц [сообщение #3171 является ответом на сообщение #3168] Fri, 22 September 2023 20:38 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 276
Зарегистрирован: June 2022
Senior Member
Собираете в таблицу вида old_id new_id id которые нужно заменить.
Потом пачкой запросов меняете во всех таблицах используя вспомогательную.
И третьим шагом удаляете.
icon7.gif  Re: Как удалить дубли из таблицы и обновить индексы связанных таблиц [сообщение #4313 является ответом на сообщение #3170] Wed, 31 January 2024 22:36 Переход к предыдущему сообщению
rozhnev в настоящее время не в онлайне  rozhnev
Сообщений: 2
Зарегистрирован: January 2024
Junior Member
Здесь я набросал решение SQL https://sqlize.online/sql/mysql57/91414e82d838b5764eda772950 fbe500/
Предыдущая тема: Вопрос про PITR
Переход к форуму:
  


Текущее время: Sat Mar 02 13:40:12 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00829 секунд