login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Structuur aanpassen

Offline qubus - 08/03/2013 16:22
Avatar van qubusLid Hallo,

Ik heb een mySQL database die gevuld is met gegevens van een site.
Nu heb ik ondertussen het format door ontwikkeld, en op een testsite ondertussen aardig wat wijzigingen in de database structuur gemaakt.
Is er een manier om over de 'oude' database de 'nieuwe' structuur heen te zetten, zodat de inhoud bewaard blijft, maar de extra velden wel worden toegevoegd aan de structuur?

Alvast bedankt voor het meedenken.

4 antwoorden

Gesponsorde links
Offline UpLink - 08/03/2013 18:52
Avatar van UpLink ... Exporteer alles uit je 'oude' database zodat dit allemaal in een SQL bestand zit.

Verwijder heel de oude database en zet dan de hele nieuwe structuur in de plaats...
Nadien kan je gewoon je geëxporteerde SQL bestand importeren in de nieuwe...

Ik ga hier wel vanuit dat je nieuwe database ook de oude velden bevat (dezelfde tabel- en veldnamen)...

Zo heb ik het alleszinds al meermaals gedaan...
Offline qubus - 10/03/2013 08:22
Avatar van qubus Lid
Citaat:
Ik ga hier wel vanuit dat je nieuwe database ook de oude velden bevat (dezelfde tabel- en veldnamen)...


En dat is dus niet helemaal zo. Daardoor kan ik de data niet in de nieuwe structuur krijgen.
Ik zou graag alles wat hetzelfde is wegschrijven, en de vervallen velden overslaan.
Offline Luc18 - 10/03/2013 14:04
Avatar van Luc18 Onbekend Je moet ervoor zorgen dat je de 2 databases kan aanroepen.

Vervolgens kan je op de ene tabel een insert doen en de andere select. Dan kan je zoiets maken:

  1. insert into newtable ((field1, field2, field3) (SELECT old1, old2, old3 FROM oldtable))


Dit is even een snel voorbeeldje hoe je vanuit de ene kan selecteren, en de ander kan updaten. Je moet er wel voor zorgen dat je beide databases kan aanspreken.
Offline Martijn - 11/03/2013 12:26 (laatste wijziging 11/03/2013 12:26)
Avatar van Martijn Crew PHP Wat een redelijk makkelijke manier is, is je oude database laten draaien (zij het in een andere database name zodat je de nieuwe kan maken)

En dan een php conversie script maken, gewoon voor de insert een truncate() zetten (waar kan) zodat als je het script nog een keer oproept, niet dubbel insert.

NIET VERGETEN: Zorg dat je conversie phptje niet kan worden aangeroepen of werkt nadat je klaar bent. Er hoeft maar 1 iemand dat script op te roepen om je heel veel werk op te leveren ;)

edit: beter lezen Martijn, wat Luc18 dus al zei
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s