Micha (noreg): Mehrere Einträge in einen Feld?

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

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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. 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

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