Общие > Базы данных

как убрать дубли в mysql

(1/2) > >>

listopad:
Уважаемые, как красиво убрать дубли в таблице, случайно попали.


Пример

id   isdn
20829    8005
20832    8330
20833    8330
20836    8334
20835    8334
20839    8338
20842    8342
20841    8342
20845    8348
20847    8352
20851    8360
20852    8360
20854    8362

Где значение isdn дублируются, необходимо удалить одну любую дублирующуюся запись. как это сделать средствами mysql не прибегая к программированию сктриптов.

Спасибо.

brainkiller:
ALTER IGNORE TABLE my_table ADD UNIQUE INDEX(isdn);

[OFF]А вообще, конечно, ленитесь! [/OFF]

tysonlee:
Товарищи! На Слакваре 10 стоит MySQL, OpenLDAP и Berkeley DB. Вопрос: Как можно настроить BDB? А то информация из каталога на страничку не выкладывается. Заранее спасибо.

bemis:
Мне нравится такой способ:
Создаем таблицу dst с той же структурой, но добавляем цифровое поле DupCount

делаем запрос:
INSERT INTO dst SELECT * FROM src ON DUPLICATE KEY UPDATE dst.DupCount = dst.DupCount +1

DupCount для каждой строки будет содержать число встретившихся повторов.

Можно написать скрипт, который будет создавать таблицу dst, копировать таким образом туда данные, удалять исходную таблицу и переименовывать dst в src.

ntspace:
Во намутили:)) Таблицу еще одну составляй! А не проще ли проверить все скриптом на дубли? Чего городить то на скунсе?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии