Toon posts:

[MySQL]hoe database overzetten??

Pagina: 1
Acties:

Verwijderd

Topicstarter
okee, ik moet de gegevens van de ene database overzetten op een andere(nieuwere), maar de oude table is anders dan de nieuwere,

de nieuwe heeft meerdere kolommen (er er zijn een paar weggelaten), en de kolommen hebben een andere volgorde,

hoe kan ik de data het beste overzetten?>

ps. de kolommen hebben nog wel dezelfde naam!

het gaat om zo'n 3000 rows... *D

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kunt tables aanpassen via 'alter table', maar je kan het natuurlijk ook zelf implementeren via inserts en selects.

Beide oplossingen lijken mij absoluut geen probleem met voldoende SQL kennis :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

pseudo code:

SELECT * uit oude tabel
while (result){
INSERT in nieuwe tabel met weglating van verwijderde kolommen en wijziging van kolomnaam voor behouden data
}

Verwijderd

Topicstarter
dit werkt niet:
INSERT INTO nieuwe_db SELECT * FROM oude_db

maar kan je niet iets soortgelijk doen,

dus bijv.
INSERT INTO nieuwe_db SELECT naam,adres,tel FROM oude_db
ofzo?

Verwijderd

Topicstarter
okee, het is gelukt,

insert into new_v4m_search(uin,naam,realname,geslacht,woonplaats,active) select uin,naam,realname,geslacht,woonplaats,active from v4m_users

maar nu moet ik de rest van de data uit een andere (oude) table halen, en die op de juiste row in de table er bijvoegen. dus juiste uin bij uin....

snapje...

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Met php zou 'k 't zo
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
$O_query = "SELECT O_Kolom1, O_Kolom2, O_Kolom3 FROM O_Tabel";
$O_result = mysql_query($O_query) or die("query mislukt");

while ( $Line=mysql_fetch_object($O_result) ) {
     $U_Query  = "INSERT INTO N_Tabel SET";
     $U_Query .= "N_Kolom1=$Line->O_Kolom2, ";
     // [etc]
     $U_Query .= "N_Kolom3=$Line->O_Kolom1";
     $U_Result=mysql_query($$_Query) or die("Query mislukt");
}
?>

doen :?
Pagina: 1