[mysql] identieke rijen verwijderen

Pagina: 1
Acties:

  • Gromba
  • Registratie: Mei 2003
  • Laatst online: 10-05 12:01

Gromba

Tijdreiziger @ 1sec/sec

Topicstarter
Hallo,

Door een foutje van mij is bij de RC5-proxystatistieken alle rijen verdubbeld. Dit komt er op neer dat iedereen nu het dubbele aantal punten heeft. Iedereen blij natuurlijk, maar dat is natuurlijk niet het gene dat ik wil :P
Hoe het gekomen is kan ik lang over praten, maar daar gaat het niet om....
Hier een overzicht hoe het eruit ziet.

De kans dat 4 rijen gelijk zijn zo nihiel dat dat geen problemen zou opleveren.

Hoe kan ik alle identieke rijen verwijderen?

Gromba.nl


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
--unieke rijen in tijdelijke tabel gooien
SELECT DISTINCT * INTO #NieuweTabel FROM OudeTabel

--oude gegevens verwijderen
DELETE FROM OudeTabel

--gegevens uit tijdelijke tabel in oorspronkelijke tabel gooien
INSERT INTO OudeTabel (veld1, veld2, veld3)
SELECT (veld1, veld2, veld3)
FROM #NieuweTabel

--tijdelijke tabel verwijderen
DROP TABLE #NieuweTabel


Wel alles -indien mogelijk- in een transactie doen.

En na dit direct de goede indexen/unique contstraint zetten!

[ Voor 7% gewijzigd door P_de_B op 20-12-2004 15:57 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • freddifish
  • Registratie: November 2000
  • Laatst online: 29-01 09:15

freddifish

schnappi !

"select distinct" etc . zou je alle unieke rijen moeten opleveren...
:P moet sneller typen..

[ Voor 23% gewijzigd door freddifish op 20-12-2004 15:58 ]

'people say I'm a drinker, but I'm sober half the time' - Mick Jagger | mail: freddifish_AT_gmx.net


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15-05 06:45
Misschien mosterd na de maaltijd, maar als je een primary key had gedefinieerd, had je het probleem niet gehad of was het veel makkelijker op te lossen. Het is nu onmogelijk om een van de twee identieke rijen te verwijderen en de andere alleen te laten. (Er staan wel afzonderlijke prullenbakjes bij, maar het lijkt me sterk dat phpMyAdmin het wel kan.)

Ik zou suggereren om de data te dumpen naar een textfile, alle oneven regels te verwijderen, en de data opnieuw te importren. Lijkt me de meest simpele oplossing, aangenomen dat je dit niet vaker doet. ;)

edit:
Ah, de truc met SELECT DISTINCT is ook prima. Daar had ik niet aan gedacht.

[ Voor 8% gewijzigd door Soultaker op 20-12-2004 15:59 ]


  • Gromba
  • Registratie: Mei 2003
  • Laatst online: 10-05 12:01

Gromba

Tijdreiziger @ 1sec/sec

Topicstarter
Bedankt *proberen gaat*

Gelukt!!
Bedankt iedereen :>

[ Voor 42% gewijzigd door Gromba op 20-12-2004 16:19 ]

Gromba.nl