Ввод SQL-входа

Я запутался при попытке создать тестовую базу данных и случайно продублировал все внутри определенной таблицы. По сути, сейчас есть 2 записи в каждой записи, которая была когда-то раньше. Есть ли простой способ исправить это? (С использованием таблиц InnoDB)

1 ответ

Еще одна веская причина использовать автоинкрементные первичные ключи. Таким образом, строки не будут полностью дубликатами.

Вероятно, самый быстрый способ - скопировать данные в другую таблицу, обрезать первую таблицу и снова вставить ее:

create temporary table tmp as
   select distinct *
   from test;

truncate table test;

insert into test
    select *
    from tmp;

В качестве небольшого примечания: почти во всех случаях я рекомендую использовать полный список столбцов на insert заявление. Это тот случай, когда это необязательно. В конце концов, вы помещаете все столбцы в другую таблицу и просто помещаете их обратно в оператор позже.

Другие вопросы по тегам