Материалы
[:NetFAQ://]


Поиск

[:NetFAQ://]


Партнеры
Хостинг от Park-Web

www.popularsite.ru
[:NetFAQ://]


Реклама
[:NetFAQ://]


MySQL TipsNTriks (Удаление дублирующихся записей)

MySQL TipsNTriks - Удаление дублирующихся записей

Интересное и красивое решение проблемы удаления дублирующихся строк в таблицах MySQL

Преамбула

Часто бывает необходимость, удалить лишние дублирующиеся строки в таблице. К примеру есть таблица, состоящая из 6 столбцов.

IdNameSurnameGrenderYearActive
1MikIvanovMale1994True
2YuliaRomanovaFemale1993True
3MikIvanovMale1994True
4GreedIvanovMale1999True


Ключ поле ID. Как видим, в таблице есть два человека с фамилией Ivanov но с разными Id. Мы точно уверены, что это один и тот же человек, и необходимо удалить одну из этих записей, чтобы не нарушать целостности данных.

Решение

Анализируем дальше. В нашей таблице по мимо Id уникальными данными являются Имя и Фамилия человека. Следовательно можно воспользоваться этой особенностью. Для вашего конкретного случая, необходимо немного подумать и найти ;)
Составной ключ - ключ состоящий из нескольких полей таблицы и являющийся уникальным на протяжении всей таблицы. К чему это я? Собственно в этом и кроеться решение проблемы. Мы создадим составной ключ в нашей таблице, который автоматически уничтожит все повторяющиеся записи в таблице. На ругань MySQL при этом можно не обращать внимания, главное результат. Ниже приведен запрос для исходной таблицы, который удалит дублирующиеся записи.
   ALTER IGNORE TABLE  Names ADD UNIQUE INDEX(Name,Surname);

В результате мы получаем таблицу, в которой заведомо отсутствуют поля с повторяющимися именем и фамилией.

P.S. Не забудьте снять ключ;)

Опубликовано: 2008-02-21 19:49:23 ShadX

Комментарии

MUZ СПАСИБО.БЫСТРО ЛЕГКО И ПРОСТО!
самбади спасибо, помогло :)
Егор Спасибо огромное, респект автору =)
Павел А в MSSQL по такому принципу не выходит.
RavenLynx правда очень простой и удобный способ. и как я сам не догадался)))) большое спасибо автору

Оставить комментарий:

Имя:
Почта:
Комментарий:
Что написанно на картинке;)
[:NetFAQ://]

Справочники
[:NetFAQ://]


FreeSoftware
Графика
Аудио&Видео
CD&DVD
Офис
Системные утилиты
Антивирусы
Игры
Разное
[:NetFAQ://]


Магазин
Вавилон 5 - второй сезон
Вавилон 5 - второй сезон
[:NetFAQ://]


Статистика


[:NetFAQ://]


FAQ Новости Блог RSS Задать вопрос