Мускуль и повторяющиеся записи.

Статус
В этой теме нельзя размещать новые ответы.

Deller

Создатель
Регистрация
24 Фев 2008
Сообщения
34
Реакции
16
Дано: табличка из двух столбцов, в ней есть повторяющиеся записи т.е. например есть строка со значениями 6 и 9 в первом и втором столбце соответственно. И ета запись повторяется несколько раз. Требуется удалить повторяющиеся записи посредством запроса мускуля. Это реально? Еси да не подскажет ли кто либо как, бу благодарен. ЗЫ на пых не ссылаться скрипт на пыхе написать для удаления могу но меня интересует решение задачи именно при помощи mysql
 
Через объединение таблицы с собой.
Допустим есть поля id и data:
Код:
DELETE table FROM table as t1, table as t2 WHERE t1.data = t2.data AND t1.id > t2.id
Разумеется, id должен быть уникальным.
 
Можно, используя временную таблицу:

insert into tmp(c1,c2)
SELECT DISTINCT c1,c2
FROM t1;
delete from t1;
insert into t1(c1,c2)
SELECT c1,c2
FROM tmp;

Если полей больше чем два, то можно на с1,с2 в tmp повесить уникальный индекс
и делать INSERT IGNORE без DISTINCT уже.
 
Через объединение таблицы с собой.
Допустим есть поля id и data:
Код:
DELETE table FROM table as t1, table as t2 WHERE t1.data = t2.data AND t1.id > t2.id
Разумеется, id должен быть уникальным.
В том то и дело id уникальных там нет.

puzer а вот ваш метод должен сработать. Спасибо попробую.
 
Еще можно при помощи ALTER INGNORE TABLE создать нужный индекс, при этом все копии записей удалятся.
 
составной ключ вам поможет.
 
Создать поле ID - Уникальный
и в курсоре удалить все одинаковые записи с ID больше текущего
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху