Odstranění duplicit z tabulky mariadb databáze

Odeslat odpověď


Odpoveď na tuto otázku je nutná pro rozlišení automatizovaných pokusů o registraci.
Smajlíci
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode je zapnutý
[img] je zapnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Odstranění duplicit z tabulky mariadb databáze

Odstranění duplicit z tabulky mariadb databáze

od RoliD » 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!

Nahoru