Задать вопрос
Joe_Weiser
@Joe_Weiser

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

Имеется таблица вида:
единственное поле
-------------------------
строка1
строка2
строка3
строка2
строка2
строка4
...
строка50998
Как с помощью php скрипта или через phpmyadmin удалить все дубликаты одним действием?
Спасибо!
  • Вопрос задан
  • 6523 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    1 месяц
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Решения вопроса 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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы