Joe_Weiser
@Joe_Weiser

Как удалить повторяющиеся строки в таблице MySQL?

Имеется таблица вида:
единственное поле
-------------------------
строка1
строка2
строка3
строка2
строка2
строка4
...
строка50998
Как с помощью php скрипта или через phpmyadmin удалить все дубликаты одним действием?
Спасибо!
  • Вопрос задан
  • 6318 просмотров
Решения вопроса 1
nowfine
@nowfine
сисадмин 30+ левел
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
kumaxim
@kumaxim
Web-программист
Вот Вам алгоритм для простого PHP-скрипта.

1.Получить все строки без будликатов. Дубли подавить через distinct
SELECT DISTINCT(f1) FROM table1
Результат выборки запонимаем в массиве

2.Очистить таблицу
TRUNCATE table1

3.В цикле каждую запись из массива, полученного в п.1 добавляем обратно в БД. Дабы гарантированно исключить повторы, можете вместо INSERT использовать REPLACE
Ответ написан
Комментировать
Immortal_pony
@Immortal_pony Куратор тега PHP
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX tmp(column1)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы