Общие > Базы данных
как убрать дубли в mysql
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:
Во намутили:)) Таблицу еще одну составляй! А не проще ли проверить все скриптом на дубли? Чего городить то на скунсе?
Навигация
Перейти к полной версии