Ik heb een MySQL-database met persoonsgegevens (voornaam, achternaam, geboortedatum, etc.), deze wordt constant gevuld door input van diverse websites.
In de nacht draaien cronjobs en nu moet er een bijkomen; de dubbele (hierbij wordt een vergelijking getrokken door te kijken naar de waarden in de velden voornaam, achternaam en geboortedatum) rijen moeten worden verwijderd. Deze vergelijking is overigens door de opdrachtgever bepaald, dus niet discutabel. Ik heb er eens over nagedacht, maar ik zou zo een-twee-drie niet weten hoe ik rijen selecteer (en vervolgens- of direct verwijder) die dubbel aanwezig zijn conform de voorwaarden.
En daarbij, kan ik een voorwaarde stellen aan de rij die verwijderd moet worden? Dus, verwijder de laatst-toegevoegde bijvoorbeeld.
Naar aanleiding van een zoekactie hier op GoT kwam ik erachter dat je tevens een unique kunt toevoegen aan de MySQL-tabel, maar dit is helaas niet mogelijk in mijn situatie. Het toevoegen mag namelijk best in eerste instantie, maar zoals gemeld worden 's nachts automatisch de dubbele rijen verwijderd.
In de nacht draaien cronjobs en nu moet er een bijkomen; de dubbele (hierbij wordt een vergelijking getrokken door te kijken naar de waarden in de velden voornaam, achternaam en geboortedatum) rijen moeten worden verwijderd. Deze vergelijking is overigens door de opdrachtgever bepaald, dus niet discutabel. Ik heb er eens over nagedacht, maar ik zou zo een-twee-drie niet weten hoe ik rijen selecteer (en vervolgens- of direct verwijder) die dubbel aanwezig zijn conform de voorwaarden.
En daarbij, kan ik een voorwaarde stellen aan de rij die verwijderd moet worden? Dus, verwijder de laatst-toegevoegde bijvoorbeeld.
Naar aanleiding van een zoekactie hier op GoT kwam ik erachter dat je tevens een unique kunt toevoegen aan de MySQL-tabel, maar dit is helaas niet mogelijk in mijn situatie. Het toevoegen mag namelijk best in eerste instantie, maar zoals gemeld worden 's nachts automatisch de dubbele rijen verwijderd.
[ Voor 20% gewijzigd door Verwijderd op 18-11-2005 16:00 ]