Gå til innhold

Legge inn flere verdier/strenger i ett felt


Anbefalte innlegg

Videoannonse
Annonse
Er det noen måte å legge inn flere verdier/strenger i et felt i en MySQL tabell.

Lager et publiseringssystem og vil gjerne ha med kunne legge inn artikklene inn i fere kategorier samtidig.

6454813[/snapback]

Er ingen god ide å lagre flere verdier i samme kolonne, søk på '1nf' i google.

 

For å representere et mange-til-mange forhold mellom artikler og kategorier bør du heller lage en koblingstabell mellom disse. Søk etter 'entitetisering' eller 'many-to-many' for mer info.

Lenke til kommentar

Det kommer litt an på hvordan du klientapplikasjonen fungerer, og i hvilken grad du har båndbreddeproblemer etc. Det du kan gjøre er å kjøre en spørring med et join, slik at du henter ut all informasjonen på en gang. Dette vil i ditt tilfelle føre til at du vil returnere en del overflødig informasjon, men du kan få ned antallet spørringer. F eks kan man tenke seg noe i retning av:

 

SELECT artikkel.tittel, kategori.navn 
FROM artikkel INNER JOIN artikkel_kategori on (artikkel.id = artikkel_kategori.artikkel_id)
INNER JOIN kategori on (kategori.id = artikkel_kategori.kategori_id)
WHERE artikkel.id IN (10,11,15,21)

 

Du vil som sagt få noe informasjon dobbelt opp her, men du kan gjøre alt i en spørring. For nyere versjoner av Oracle og Microsoft SQL Server kan du kage brukerdefinerte aggregeringer for å forhindre redundant informasjon også, men det er et annet "kapittel".

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...