Toon posts:

[MySQL] dubbele verwijderen

Pagina: 1
Acties:
  • 151 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
is er een bepaalde MySQL functie om dubbele uit je db te verwijderen of moet ik dat moet een php loopje doen?

Verwijderd

Dubbele wat?

Natuurlijk kun je voorkomen dat je dubbele records krijgt in je db, maar daarvoor moet je gewoon restricties opgeven "uniques" en dergelijke.

Verwijderd

Topicstarter
Op donderdag 08 november 2001 16:02 schreef TheGentleman het volgende:
Dubbele wat?

Natuurlijk kun je voorkomen dat je dubbele records krijgt in je db, maar daarvoor moet je gewoon restricties opgeven "uniques" en dergelijke.
ik wil in mn mailinglist database geen dubbele e-mail adressen

hoe voorkom ik die dan? gewoon de col email als unique opgeven?

en nu ze er al in zitten? hoe haal ik ze eruit..
ik had een loopje gemaakt maar dat haalt alles eruit van wat dubbel erin zit...

Verwijderd

Als je 'em op unique zet, wat niet een on-slim iets is ;) krijg je moeilijkheden als je alle dubbele records gaat nalopen. Je moet ze wissen of een nieuwe waarde voor het e-mail attribuut geven.

Dus.
Stap 1: Zorg dat je een oplossing vind voor het wegwerken van de dubbele records. Bijv. doorheen loopen en vervolgens wissen of andere waarde invoeren.

Stap 2: Als je zeker weet dat alle dubbele waarden eruit zijn, verander je de emailkolom in een unieke-waarde-kolom (mooi woord he?)

Krijg je never nooit geen dubbele waarden meer 8-)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op donderdag 08 november 2001 16:04 schreef _Assassinator_ het volgende:

[..]

hoe voorkom ik die dan? gewoon de col email als unique opgeven?
Yep, dan krijg je een error tijdens inserten!
en nu ze er al in zitten? hoe haal ik ze eruit..
ik had een loopje gemaakt maar dat haalt alles eruit van wat dubbel erin zit...
code:
1
2
3
4
5
6
select emailadressen, count(*) as nummer from tbl group by emailaddressen having count(*) > 1
.
<INSERT PHP CODE OM QUERY UIT TE VOEREN>
.
delete from tbl where emailadressen = <RESULT Query1> limit <RESULT Query1 Nummer-1>
.

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op donderdag 08 november 2001 16:16 schreef LuCarD het volgende:
code:
1
2
3
4
5
6
select emailadressen, count(*) as nummer from tbl group by emailaddressen having count(*) > 1
.
<INSERT PHP CODE OM QUERY UIT TE VOEREN>
.
delete from tbl where emailadressen = <RESULT Query1> limit <RESULT Query1 Nummer-1>
.
hmmz hoe doe ik dat dan precies?

ik wil het namelijk in een php filetje uitvoeren..
maar wat je hier hebt geschreven snap ik niet helemaal precies..

ik hoop dat je het nog ff kort wilt toelichten :)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Gaan we een keer wat origineels zeggen.
code:
1
2
create table newemails as
 select distinct(emailadressen) from tbl

*gaap*

Niet vergeten daarna de table te alteren. (PK maken enzo.)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op donderdag 08 november 2001 17:01 schreef dusty het volgende:
Gaan we een keer wat origineels zeggen.
code:
1
2
create table newemails as
 select distinct(emailadressen) from tbl

*gaap*

Niet vergeten daarna de table te alteren. (PK maken enzo.)
maar dan krijg ik dus een table met maar 1 col..
terwijl ik 2 col's wil namelijk ook een col met de id erin..
en hoe creeer ik die dan daarna nog erbij?
want als ik add col doe: ID int(11) en dan nog pk maak en autoincrement krijg ik fouten ;)

Verwijderd

Topicstarter
wie helpt me dan nog ff plz?

8-)

thnx bij voorbaat ;)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 08 november 2001 17:15 schreef _Assassinator_ het volgende:
maar dan krijg ik dus een table met maar 1 col..
Dan pas je de select distinct(emailadressen) from tbl aan in de query die dan precies geeft wat je wel wilt hebben, plaats je de create table as ervoor en klaar is klara.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op vrijdag 09 november 2001 08:44 schreef dusty het volgende:

[..]

Dan pas je de select distinct(emailadressen) from tbl aan in de query die dan precies geeft wat je wel wilt hebben, plaats je de create table as ervoor en klaar is klara.
maar wat voor query krijg je dan uiteindelijk?
sorry maar ik snap er nix van :)

Verwijderd

Topicstarter
Op vrijdag 09 november 2001 09:38 schreef _Assassinator_ het volgende:

[..]

maar wat voor query krijg je dan uiteindelijk?
sorry maar ik snap er nix van :)
misschien is het een beetje stom maar hoe maak ik dan precies een query met alle Distinct van column e-mail uit andere table.. maar dan ook nog met een col ID
Pagina: 1