[mysql] gaten in de database opspeuren?

Pagina: 1
Acties:

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hey,

ik heb de afgelopen weken een nieuw forum gemaakt, die ik vandaag over de oude heen wilde gooien.
Ik heb een conversie scriptje geschreven die ik uit heb gevoerd om de postings van het oude forum (290.000) naar de nieuwe tabel te kopieeren.
Na 2 uur was hij klaar, maar er zat een verschil van 70.000 postings in beide tabellen!

Ik krijg bij het draaien van het script geen foutmelding, dat is het meest irritante.
Ik vroeg me af of je misschien op een of andere manier de gaten in de db op kon sporen, zodat ik makkelijk kan zien welke postings niet mee zijn gekopieerd.

Nog een vraagje; is er een manier om een dump file direct op de server weg te schrijven in plaats van hem te moeten downloaden om hem daarna weer te uppen?

[ Voor 12% gewijzigd door TangLeFuzZ op 11-02-2003 17:06 ]


  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 22-08 10:29
misschien iets doms; maar het kan zo zijn bij bijvoorbeeld het deleten van posts, dat hij rijen "open" laat, en dus daarna niet meer invult, of heb je dit via phpmyadmin bekeken, zo ja, dan kan je deze post negeren :+

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 20:55

pistole

Frutter

als je alle records uniek kan matchen met je oude database moet dat niet zo moeilijk zijn (als je mysql instantie subqueries ondersteund)

code:
1
 select blaf from bla where [unieke code] not in (select [unieke code] from anderebla)

Ik frut, dus ik epibreer


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
codeweb schreef op 11 February 2003 @ 17:05:
misschien iets doms; maar het kan zo zijn bij bijvoorbeeld het deleten van posts, dat hij rijen "open" laat, en dus daarna niet meer invult, of heb je dit via phpmyadmin bekeken, zo ja, dan kan je deze post negeren :+
Er zijn wel rijen gedelete, maar in phpmyadmin gaf hij bij de 1 290.000 en bij de anders 220.000 aan ja ;(

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 20:55

pistole

Frutter

select blaf from oudetabel where blafID not in (select blafID from nieuwetabel)

Of queries van dezelfde strekking?

Ik frut, dus ik epibreer


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
pistole schreef op 11 February 2003 @ 17:11:
select blaf from oudetabel where blafID not in (select blafID from nieuwetabel)

Of queries van dezelfde strekking?
Hmm ja dat zou werken, maar aangezien het om een erg groot aantal postings gaat gaat dat op dit moment te traag hier.
Ik zit net wat in die tabellen te spitten en kom er gewoon achter dat hij echt willekeurig af en toe postings heeft overgeslagen :|
Ik zie verder geen verschil in de rijen, dus ik zou echt bij sint jozef niet weten wat er mis gaat :/

Ik kreeg toen ik het conversie script uitvoerde vanaf de shell ook geen 1 keer een error.

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 20:55

pistole

Frutter

het lijkt me dan verstandig (ivm je data integriteit) dat je dan eens opnieuw gaat converteren en je conversie te controleren

Ik frut, dus ik epibreer


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
pistole schreef op 11 February 2003 @ 17:21:
het lijkt me dan verstandig (ivm je data integriteit) dat je dan eens opnieuw gaat converteren en je conversie te controleren
Ben ik net mee bezig.
Ik heb een posting proberen te converteren die mis ging en kreeg een sql error.

Na uitvissen kwam ik ergens achter.
In de volgende posting krijg ik een error:
Ik heb een jaar geleden zo'n mix gemaakt: "Club-Groove 1995-2000", met daarin de volgende nummers: 1. Deep Zone - It's Gonna be Allright 2. Natural Born Grooves - Universal Love 3. DJ Kalpa - Party Groove 4. Groove Solution - Magic Melody 5. Grooveyard - Mary Go W!ld 6. Club Royale - Loosing Sleep 7. Serious Danger - Deeper 8. CRW - I Feel Love (Klubbheads Remix uit 1998, speedgarage) 9. Serious Danger - Do U Dream 10. Pacific Heights - What Are You Waitin' For 11. The 3 Jays - Feeling It Too 12. OnePhatDeeva - In And Out Of My Life 13. Love Connection - The Bomb 14. Grooveyard - Let The Music Be Your Guide 15. Spiller - Groove Jet Zoals je ziet, staan er een aantal nummers op die al genoemd zijn, maar over het algemeen zijn het allemaal lekkere nummertjes van een tijdje terug. Je kunt ook de oude IT-cd's en Danssalon-cd's ed afstruinen naar allerlei nummertjes
MySQL said:
You have an error in your SQL syntax near 'n mix gemaakt: "Club-Groove 1995-2000",
met daarin de volgende nummers: 1. Dee' at line 1
Ik snap echt niet wat daar nou mis gaat?
Ik hoef toch niet te addslashen oid voordat ik het in de db gooi? (ik voer wel stripslashes uit als ik het uit de oude tabel haal)

[ Voor 7% gewijzigd door TangLeFuzZ op 11-02-2003 17:33 ]


Verwijderd

Misschien iets met aanhalingstekens, of quotes?
Dat de query daardoor word afgebroken...gebruik je wel addslashes & zo?

Verwijderd

TangLeFuzZ schreef op 11 februari 2003 @ 17:31:
Ik snap echt niet wat daar nou mis gaat?
Ik hoef toch niet te addslashen oid voordat ik het in de db gooi?
Goh, waar gaat het nou fout :?
Misschien wel bij de eerste de beste "
(ik voer wel stripslashes uit als ik het uit de oude tabel haal)

Doe ook maar addslashes voordat je het erin gooit ja.....

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
:> Ik kwam er net zelf al achter, sorry, keek er telkens overheen en dacht er ook totaal niet bij na aangezien ik vrijwel nooit addslashes uitvoer.

Voel me best wel een randebiel nu, maar ja... zit ook al veel te lang achter die klote pc vandaag :)

[ Voor 54% gewijzigd door TangLeFuzZ op 11-02-2003 17:52 ]


  • pistole
  • Registratie: Juli 2000
  • Laatst online: 20:55

pistole

Frutter

misschien een rare vraag.. maar waarom doe je uberhaupt addslashes etc? Ga je record-voor-record je postings omgooien dan? Waarom niet in 1 iets spannender query?

Zal gelijk een stuk sneller gaan :)

Ik frut, dus ik epibreer

Pagina: 1