Gå til innhold

Legge inn flere verdier/strenger i ett felt


Anbefalte innlegg

Skrevet

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.

Videoannonse
Annonse
Skrevet
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.

Skrevet (endret)

Takk for hjelpen.

Fant en artikkelen på Wikipedia som var til god hjelp.

 

Etter det jeg forstå må man altså lage en koblingstabell.

Så vis jeg skal finne kategoriene til 4 artikkler så må jeg kjøre 4 spørringer mot databasen?

Endret av JonT
Skrevet

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".

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...