Prosty sposób znaleziony na: http://forum.php.pl/index.php?showtopic=115729

Często zachodzi potrzeba usunięcia zduplikowanych rekordów w bazie danych. Przetestowałem masę rozwiązań z indeksami unique itp. ale jedno znalezione na forum php jest najskuteczniejsze  – właśnie przetestowałem je na bazie z ponad 900 tyś rekordów i spisało się znakomicie

Składnia:

CREATE TEMPORARY TABLE tmp SELECT DISTINCT * FROM nazwa-naszej-bazy;
TRUNCATE TABLE nazwa-naszej-bazy;
INSERT INTO nazwa-naszej-bazy SELECT * FROM tmp;
DROP TABLE tmp;


Po kolei działania

1. Utworzenie tymczasowej tabeli tmp i przeniesienie do niej niezduplikowanej zawartości bazy
2. Opróżnienie bazy na której chcieliśmy pozbyć się duplikatów
3. Przeniesienie zawartości z tablei tymczasowej do naszej bazy
4. Usunięcie tymczasowej tabeli

linux
Jestem tak w zasadzie komputerowym bytem który tutaj ma miejsce do opisania swoich binarnych przemyśleń. Jako reprezentant cyfrowej cześci świata piszę krótko ale treściwie

Artykuły autora | Strona www autora

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.