login  Naam:   Wachtwoord: 
Registreer je!
 Forum

duplicate sql record verwijderen met querie?

Offline sebasjuh - 26/08/2009 17:43
Avatar van sebasjuhNieuw lid Hallo,

Ik heb een klein probleem. Door een fout in me code heb ik per ongeluk dubbele records in mijn sql tabel gekregen. Die fout is inmiddels hersteld alleen ik wil nu graag mijn dubbele records verwijderen. Dit zijn er wel minimaal 10000 records dus is er een mogelijkheid om dit via een query te doen? Ik heb namelijk geen zin om handmatig alles na te lopen?

Ik ben al een paar dagen via google aan het zoeken maar krijg maar geen werkende querie en ik dacht misschien kan er iemand hier mij helpen?

de tabelnaam is: filmpjes_filmpjes
en nu wil ik de records verwijderen waarvan de thumb kolom en de duration kolom gelijk zijn verwijderen maar er moet er wel 1 blijven bestaan. Soms komen 2x dezelfde thumb en duration voor en soms wel meer. Is dit mogelijk? En zoja kan iemand me ermee helpen misschien?

Met de onderstaande query heb ik de dubbele records gevonden:
  1. SELECT id, thumb, duration, COUNT(thumb), COUNT(duration) FROM filmpjes_filmpjes GROUP BY thumb, duration HAVING ( COUNT(thumb) > 1 ) AND ( COUNT(duration) > 1) ORDER BY id


Maar de vraag nu hoe deze dubbele te verwijderen zodat ik van alle dubbele maar een enkele overhoud? Ik hoop dat iemand me kan helpen!

2 antwoorden

Gesponsorde links
Offline Stefan14 - 26/08/2009 22:50
Avatar van Stefan14 PHP gevorderde Op zich is dit niet zo heel erg moeilijk.

Maar om ons beide tijd te besparen, er staat zelfs een scripts in de scriptslibrary.
http://www.site...erwijderen

Deze kun je als inspiratie gebruiken en op verder bouwen lijkt mij.

Wellicht wel handig om van tevoren een backup te maken voordat je dingen gaat 'proberen'.
Iets was je misschien ook al iets eerder had moeten doen  
Offline Richard - 26/08/2009 23:00
Avatar van Richard Crew algemeen
Citaat:
Ik heb een klein probleem. Door een fout in me code heb ik per ongeluk dubbele records in mijn sql tabel gekregen. Die fout is inmiddels hersteld alleen ik wil nu graag mijn dubbele records verwijderen. Dit zijn er wel minimaal 10000 records dus is er een mogelijkheid om dit via een query te doen? Ik heb namelijk geen zin om handmatig alles na te lopen?

Een fout in je code? Een fout in je databasemodel zul je bedoelen, dit soort dingen regel je in de database met unique constraints, dat doe je niet in je code!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.168s