Odstranění duplicit z tabulky mariadb databáze

Uživatelský avatar
RoliD
Administrátor
Příspěvky: 250
Registrován: pát 10. črc 2015 12:47:18

Odstranění duplicit z tabulky mariadb databáze

Příspěvek od RoliD »

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!

Odpovědět

Zpět na „MariaDB“