Avatar billede Slettet bruger
03. september 2007 - 10:58 Der er 10 kommentarer og
1 løsning

Samling af 2 database

Hej,


Jeg har 2 database (som indeholder nogle tabeller), som jeg kun skal have samlet til en database. Men hvordan gør jeg det?
Problemet (som jeg ser det) er at tabellene har refarancer mellem hinanden og at ID nr. er ens og derefter skal de ene ID ændres inden det kan sætte i den nye tabel.
Avatar billede nemlig Professor
03. september 2007 - 15:50 #1
Jeg forstår ikke problemet helt, med mindre der anvendes samme tabelnavne.
Kan du skære det lidt mere ud i pap.
Avatar billede Slettet bruger
03. september 2007 - 23:37 #2
Det kan du tro :)

Jeg har 2 database som hver indeholder 13 tabeller. De 2 database vil jeg gerne have smelte sammen til en database. Det er sådan set mit problem.

Dog skal det lige siges at jeg fx har en user tabel hvor ID bruges som refance i nogle af de andre tabeller. Da begge tabeller starter med ID 1, så skal dette jo ændres, men hvis du ændre ID i user tabellen så passer refarancen ikke i de andre tabeller. Så her skal det også ændres... Gav det mere mening?
Avatar billede nemlig Professor
04. september 2007 - 00:05 #3
Det var sådan set også det jeg forstod ved dit spørgsmål.
Jeg kan bare ikke se problemet, hvis alle 26 tabeller har forskellige navne, hvilket jo er et krav, hvis de skal ligge i samme database.
Posterne identificeres via tabelnavn og ID, og da tabelnavnene ikke kan være ens i samme database, gør det ikke noget, at ID er ens i flere tabeller.
Avatar billede Slettet bruger
04. september 2007 - 09:39 #4
Tabelnavnene i databaserne er forskellige. De 2 database indeholder de samme tabeller bare med nogle andre brugernavne og indstillinger.
Men da user tabellen i database1 har brugernavnet "kaj" som ID 1 og i database 2 er brugernavnet "Helle" som har ID 1. Hvad vil der så ske når jeg samler disse 2 rækker i en fælles DB. SÅ vil man jo have 2 brugernavn med ID 1 og det går ikke. Så skal Helle have et nyt ID, men når dette ID ændres i user tabellen så skal det også ændres i logind tabellen (og nogle andre).
Avatar billede nemlig Professor
04. september 2007 - 14:43 #5
Ok - så faldt 25 øren. De 2 databaser har altså 13 tabeller hver, med samme tabelnavne, hvor posterne i tabellerne fra database 1 skal kopieres over i de tilsvarende taballer i database 2.
Når alt er på plads, har du 1 database med 13 tabeller (og ikke 26 tabeller).
Har jeg fattet det rigtigt nu??  :-)
Kan du ikke lige sende mig en email på joern@kalendersystem.dk og oplyse mig dit tlf. nr. Så ringer jeg dig lige op.
Avatar billede Slettet bruger
04. september 2007 - 15:37 #6
Jeps det er rigtig forstået :)

Jeg overvejer bare at lægge 10000 til IDerne i den ene tabel og så gøre det samme ved at de referancer der måtte være. Kan ikke lige se en lettere løsning.
Avatar billede nemlig Professor
04. september 2007 - 15:47 #7
Det vil også være mit forslag. Har du koden til, hvordan du gør det?
Avatar billede Slettet bruger
04. september 2007 - 17:46 #8
Nææ. Men regner bare med at skrive et php script, som kører en update. Det kommer nok til at tage lidt tid... Har lige set at et sql dump fylder 110MB!! Meget mere end jeg havde regnet med.

Så hvis du har et bedre forslag ville det da være nice :)
Avatar billede nemlig Professor
04. september 2007 - 20:37 #9
Jeg ville også foreslå et PHP script. Har nogle stykker liggende, hvor jeg har lavet nogle andre opdateringer, hvor flere tabeller er i spil.
Avatar billede Slettet bruger
25. september 2007 - 10:59 #10
Smid et svar
Avatar billede nemlig Professor
25. september 2007 - 13:37 #11
Hermed svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester