Mehrere Einträge in einen Feld?
Micha (noreg)
- datenbank
Hallo,
ich habe ein kleines Problem, ich speichere in einen Datenbankfeld IDs, leider weiß ich vorher nicht genau wie viele. Deshalb wollte ich sie dort evtl. mit einen Trennzeichen einfügen, in der Art "1,3,5,6". Leider komme ich nun nicht weiter wie ich mit einen Select abfragen kann, welche Zeilen alle z.B die ID 3 in dem Feld haben. Gibt es einen Weg dies zu tun?
Gruß
Micha
Hi,
ich habe ein kleines Problem, ich speichere in einen Datenbankfeld IDs, leider weiß ich vorher nicht genau wie viele.
eine. Die Daten in jeder Tabellenzelle sind atomar.
Deshalb wollte ich sie dort evtl. mit einen Trennzeichen einfügen, in der Art "1,3,5,6".
Dann hast Du die eine ID "1,3,5,6" gespeichert.
Leider komme ich nun nicht weiter wie ich mit einen Select abfragen kann, welche Zeilen alle z.B die ID 3 in dem Feld haben. Gibt es einen Weg dies zu tun?
Normalisiere die Daten.
Cheatah
Moin,
ich habe ein kleines Problem, ich speichere in einen Datenbankfeld IDs, leider weiß ich vorher nicht genau wie viele. Deshalb wollte ich sie dort evtl. mit einen Trennzeichen einfügen, in der Art "1,3,5,6". Leider komme ich nun nicht weiter wie ich mit einen Select abfragen kann, welche Zeilen alle z.B die ID 3 in dem Feld haben. Gibt es einen Weg dies zu tun?
Das hört sich sehr komisch an. Bitte poste mal Beispieldaten aus der Datenbank.
Dann können wir dir möglicherweise besser helfen.
Gruß
Stareagle
Hi,
ich habe ein kleines Problem, ich speichere in einen Datenbankfeld IDs, leider weiß ich vorher nicht genau wie viele. Deshalb wollte ich sie dort evtl. mit einen Trennzeichen einfügen, in der Art "1,3,5,6". Leider komme ich nun nicht weiter wie ich mit einen Select abfragen kann, welche Zeilen alle z.B die ID 3 in dem Feld haben. Gibt es einen Weg dies zu tun?
Ja, den gibt es (bei MySQL, die Funktion heisst in etwa "Finde in Satz") - aber Cheatahs Rat, weiter zu Normalisieren, solltest du trotzdem bevorzugt befolgen.
Es gibt in Einzelfaellen gute Gruende, vom ueblichen Grad an Normalisierung abzuweichen (Performance etwa bei wirklich grossen Datenmengen - z.B. Tags bei einem Portal von der Groesse Flickrs) - aber im Normalfall eben nicht.
MfG ChrisB