postup:
Kód: Vybrat vše
create table vycistena like sduplicitama;
alter table vycistena add primary key (sloupec);
insert ignore vycistena select * from sduplicitama;
drop table sduplicitama;
rename table vycistena to sduplicitama;
co se tam děje:
1. vytvoříme kopii naší původní tabulky.
2. následně ji trochu předefinovali
3. pak jsme se do ní pokusili vložit, co se dalo. Jelikož ale nová tabulka nesmí obsahovat duplicitní údaje ve sloupci "sloupec", povede se pokaždé jen takové vložení, které se ještě neopakovalo. Ale, příkaz neskončí na první chybě, naopak pokračuje.
4. nakonec pro pořádek ještě původní tabulku odstraníme a tu novou přejmenujeme zpět na původní
Tento způsob vyčištění zdvojených (nebo vícenásobných) položek je jeden z nejrychlejších. Příliš jej nespomaluje ani počet duplicitních záznamů, ani to, kolikrát se jednotlivé hodnoty opakují. Výhodou je rovněž to, že z prvních vyhovoujících záznamů by byly vloženy i údaje z dalších sloupců (jako je naše poznámka). Před testování vždy zálohujte!