Odstranění duplicit z tabulky mariadb databáze

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

Odstranění duplicit z tabulky mariadb databáze

Příspěvek od Supík » pon 08. úno 2016 11:58:33

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

Sociální sítě

       

Zpět na “MariaDB”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host