[MySQL/PHP] Records moven naar een andere tabel

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik zit met het volgende probleem.
Ik wil een set records moven van 1 tabel naar een andere tabel met dezelfde structuur.

Nu had ik het volgende plan in mijn hoofd:
1. Selecteer de records uit de bron tabel
2. Voeg de geselecteerde records in de destination tabel
3. Verwijder de records uit de bron tabel.

Het zijn maar 3 stappen, maar zoals ik het nu in mijn hoofd heb gaat dit erg omslachtig worden.
Dan zou ik eerst alle bron records in het geheugen moeten lezen, en vervolgens weer allemaal INSERT INTO queries moeten maken.
Ik kan geen SQL commando vinden waarmee ik dit makkelijker zou kunnen doen.

Iemand nog suggesties?

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Ik ben ook bang dat daarvoor geen SQL commando bestaat, gezien dat tegen alle normaal-principes ingaat...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

code:
1
2
3
4
INSERT INTO tabel2
SELECT *
FROM tabel1
WHERE ...;

en
code:
1
2
3
DELETE 
FROM tabel1
WHERE ...;

Ik denk niet dat het met 1 query kan.
De vraag is inderdaad: waarom heb je 2 tabellen met dezelfde structuur?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op dinsdag 28 mei 2002 20:36 schreef Cheatah het volgende:
Ik denk niet dat het met 1 query kan.
De vraag is inderdaad: waarom heb je 2 tabellen met dezelfde structuur?
Het gaat hier dus om een topic te moven tussen 2 forums.
Ik heb ervoor gekozen om voor elk forum een aparte tabel (met dezelfde structuur) aan te maken.

Het leek mij dat als je alle posts in 1 tabel opslaat dat die tabel wel erg groot wordt en traag wordt met doorzoeken.
Het zou best kunnen dat ik niet gelijk heb hierin en ik sta uiteraard open voor suggesties.

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

JonkieXL:
Het leek mij dat als je alle posts in 1 tabel opslaat dat die tabel wel erg groot wordt en traag wordt met doorzoeken.
Het zou best kunnen dat ik niet gelijk heb hierin en ik sta uiteraard open voor suggesties.
hint
Hoe denk je dat het hier op GoT gaat?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op GOT hebben ze waarschijnlijk een tabel topics en 1 tabel posts.

Structuur tabel topics
------------
ThreadID
ForumID
UserID
Topic
etc.

Structuur tabel posts
---------
MsgID
ReplyTo
UserID
Message
etc.

En als een forum wordt gemoved dan wordt via een UPDATE query het het ForumID aangepast van de Thread

Zo denk ik dat het gaat.
Uhmm maar ik kwam er eerlijk gezegd wat laat achter dat je complicaties krijgt als je elk forum in een aparte tabel opslaat.

Maar ja nu ben ik bijna klaar met het forum en dan zou ik dus de hele structuur weer moeten omgooien :'(

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Dat heb je idd wel goed gezien.
JonkieXL:
Maar ja nu ben ik bijna klaar met het forum en dan zou ik dus de hele structuur weer moeten omgooien :'(
Dat kan nooit zo gek veel werk zijn, helemaal niet als alleen de fora maar in verschillende tabellen zijn. 't Is ff editen, maar echt veel werk kan 't niet zijn.

't Is wel vervelend werk, dat moet ik toegeven ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op dinsdag 28 mei 2002 20:54 schreef drm het volgende:
Dat heb je idd wel goed gezien.
[..]

Dat kan nooit zo gek veel werk zijn, helemaal niet als alleen de fora maar in verschillende tabellen zijn. 't Is ff editen, maar echt veel werk kan 't niet zijn.

't Is wel vervelend werk, dat moet ik toegeven ;)
Tjah ik kwam er ook al achter bij een search script dat het toch wel lastig was om in al die verschillende tabellen te moeten zoeken. En nu dus met het probleem met het Forum moven. |:(

Denk dat dit inderdaad genoeg reden is om de boel even te gaan omgooien >:)
Maar goed je leert er weer van zullen we maar zeggen ;)

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

JonkieXL:
Maar goed je leert er weer van zullen we maar zeggen ;)
Het is heel simpel. Ga er maar gewoon altijd vanuit dat er nooit van de ene tabel naar de andere gemoved kan/hoeft te worden, dan komt het allemaal wel goed ;)

Basically: 2 tabellen met semantisch en technisch zelfde ontwerp zijn gewoon altijd samen te voegen :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • sig69
  • Registratie: Mei 2002
  • Nu online
Dit zijn dus die dingen waar mijn docenten het altijd over hebben als ze weer lopen te mekken dat je eerst moet denken en dan pas doen.

Roomba E5 te koop


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op dinsdag 28 mei 2002 21:08 schreef sig69 het volgende:
Dit zijn dus die dingen waar mijn docenten het altijd over hebben als ze weer lopen te mekken dat je eerst moet denken en dan pas doen.
Dat hoef je mij niet meer te vertellen hoor. Ik programmeer inmiddels al een aantal jaartjes.

Maar ja ik had de hele tijd in mijn hoofd dat als je 1 tabel gebruikt om je posts in op te slaan die tabel veel te groot zouden worden en queries op die tabel erg traag zouden worden.
Maar jah als GOT ook 1 tabel gebruikt zal dat allemaal wel meevallen.

It’s nice to be important but it’s more important to be nice


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:18

TheDane

1.618

Op dinsdag 28 mei 2002 21:14 schreef JonkieXL het volgende:

[..]

Dat hoef je mij niet meer te vertellen hoor. Ik programmeer inmiddels al een aantal jaartjes.

Maar ja ik had de hele tijd in mijn hoofd dat als je 1 tabel gebruikt om je posts in op te slaan die tabel veel te groot zouden worden en queries op die tabel erg traag zouden worden.
Maar jah als GOT ook 1 tabel gebruikt zal dat allemaal wel meevallen.
[nodeloos]
misschien is het handig dat je dan eerst leert hoe een database in elkaar zit. database != array

een database kan fysiek bijvoorbeeld op meerdere schijven draaien, indices op verschillende mountpoints, etc etc; bij goede indices is de fysieke grootte van 1 tabel wel ongeveer 't laatste waar je je zorgen over hoeft te maken
[/nodeloos]

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op dinsdag 28 mei 2002 21:43 schreef TheDane het volgende:
[nodeloos]
misschien is het handig dat je dan eerst leert hoe een database in elkaar zit. database != array
Als ik niet wist hoe een Database in elkaar zat had ik echt niet mijn eigen forum kunnen bouwen hoor.
Oke ik weet niet precies tot op file niveau hoe een MySQL database eruit ziet, maar ik zal vast niet de enige zijn.

En waar hoor je mij trouwens over arrays praten?

It’s nice to be important but it’s more important to be nice


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:18

TheDane

1.618

Op dinsdag 28 mei 2002 21:46 schreef JonkieXL het volgende:

[..]

Als ik niet wist hoe een Database in elkaar zat had ik echt niet mijn eigen forum kunnen bouwen hoor.
Oke ik weet niet precies tot op file niveau hoe een MySQL database eruit ziet, maar ik zal vast niet de enige zijn.

En waar hoor je mij trouwens of arrays praten?
ehm , dat was mijn eigen eerste ingeving toen ik voor 't eerst van een database hoorde.
ooh, zal wel zo'n bestandje zijn wat net iets slimmer in elkaar zit dan een platte file, en dajje die dan met een array achtige methode uit kan lezen
|:(

no offense, maar zo keek ik er zelf tegenaan, en vandeweek was hier ook een topic over, dus ik nam aan dat <blablabla>

sorry

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb vroeger voornamelijk met COBOL (ja da's oud) Databases gewerkt en die zaten niet zo moeilijk in elkaar aangezien elk record een vaste lengte moest hebben.
Dan is het zoeken naar records ook een stuk gemakkelijker.

Aangezien records in moderne databases variabele lengte kunnen hebben zit je automatisch ook met een hele andere database structuur.

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

JonkieXL:
...aangezien elk record een vaste lengte moest hebben.
:? Zelfs in de tijd van COBOL wisten ze toch wel dat dat beter kan? :D

Hoe zag zo'n database er dan uit? just curious :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op woensdag 29 mei 2002 09:13 schreef drm het volgende:

[..]

:? Zelfs in de tijd van COBOL wisten ze toch wel dat dat beter kan? :D

Hoe zag zo'n database er dan uit? just curious :)
Heel simpel. Gewoon een binair bestand waarbij alle velden van een record achter elkaar wordt geschreven.
De namen van de velden zelf komen niet voor in het bestand just de data.

Probleem is alleen als je de data structuur moest omzetten bijvoorbeeld als je een veld zou willen toevoegen.
Dan moest je een programma maken die eerst alle records in de oude structuur moest inlezen.
Vervolgens moest je het hele bestand weer herschrijven met de records in de nieuwe structuur.

Het was allemaal best stabiel, maar nogal moeilijk onderhoudbaar ;)

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

jemig, is daar echt mee gewerkt :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1