Avatar billede Slettet bruger
31. januar 2011 - 20:09 Der er 1 kommentar og
1 løsning

Script til at sende fra en database tabel til en anden.

Jeg har en forholdsvis stor tabel i min database.

Hvergang en bruger ligger et indlæg i tabellen, bliver hans brugernavn lagt ind som reference.
Hvilket ikke er smart hvis brugeren skifter navn.
Derfor vil jeg meget gerne have brugerens id bliver reference istedet.

Men da der er rigtigt mange indlæg i tabellen vil jeg gerne have et script der lægger id'erne ind automatisk.

Jeg har tabellen "user"
[u_id][u_username]

Så har jeg den store tabel der hedder "indlaeg"
[i_id][i_text][i_username][i_userid]

I min "indlaeg" tabel har jeg lige oprettet [i_userid]

Så hvis [u_username] og [i_username] er ens. Så skal jeg have indsat [u_id] ind i [i_userid].


Hvis min beskrivelse ikke er så nem at forstå, så bare sig det. Så prøver jeg at forklare det bedre.
31. januar 2011 - 20:47 #1
En gang til - du har tabellen "user" med kolonnerne u_id og u_username.  Saa havde du tabellen "indlaeg" med kolonnerne i_id, i_text, og i_username.  I "indlaeg" har ud nu oprettet en ny kolonne i_userid, men den er foreloebig tom.  Er det korrekt?  Og nu vil du gerne, i foerste omgang, have i_indlaeg fyldt ud med de samme id numre som staar i u_id (hvis u_id = 275 for u_username = 'klodshans' saa vil du i "indlaeg" for alle indlaeg af 'klodshans' have i_id = 275.)  Naar det er paa plads vil du formodenligt fjerne i_username fra "indlaeg" og fremover identificere hvem der har lavet indlaeg ved hjaelp af i_id alene.  Er det ogsaa korrekt?

I saa fald skulle denne query virke til at indsaette i_userid vaerdierne:

UPDATE indlaeg SET i_userid = (SELECT u_id FROM user WHERE u_username = i_username)

Naar saa id'erne er paa plads og du er sikker paa at det har virket kan du droppe i_username kollonnen ved ALTER TABLE indlaeg DROP column i_username
Avatar billede decoon Nybegynder
05. februar 2011 - 00:36 #2
Dårligere metode: Loop alle indlæg igennem, hent informationer hvor i_username = u_username, og set så i_userid til at være u_id. :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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