[Frage]: MySQL Enum speichern ?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag zusammen,


    ich habe folgendes Problem: Ich möchte einen Enum speichern, sprich eine
    liste mit mehreren Werten, denen auch noch weiteren Werten zugeteilt werden
    können. Doch diese liste ist enorm lang und umfasst alle Fahrzeuge in SA:MP
    und ich möchte nicht über 150 Spalten in MYSQL dafür anlegen, habt ihr eine
    Idee wie das gehen soll ?

  • Beitrag von Kaliber ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Hab mich verlesen, dachte er redet von 150 Attributen... ().
  • Beitrag von Kaliber ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Hab mich verlesen, dachte er redet von 150 Attributen... ().
  • Hat er nicht deutlich gesagt, dass er keine 150 Spalten will? (was absolut verständlich ist, korrekt ist und auch immer so gemacht werden sollte, denn Spaltenbezeichner mit Nummern dabei sind völliger Humbug [Normalisierung!])


    -------------------------


    Was du vor hast kann über zwei Tabellen gelöst werden. Das Vorgehen findet über die Normalisierung statt.
    Was willst du denn genau in der Tabelle für Werte speichern? Kannst du da mal ein zwei Beispiele machen, was du speichern willst?



    Anbei noch eine gut Erklärung zum Prinzip der Normalisierung von Datenbanken:
    https://hosting.1und1.de/digit…ql-lernen-leicht-gemacht/
    (siehe Punkt Normalisierung)



    Als Beispiel mal mit Alben und Liedern darauf:
    Anstatt eine Tabelle zu machen mit Albumname und Song1, Song2, etc macht es mehr Sinn, zwei Tabellen zu machen, Tabelle 1 enthält die AlbumID und den Name dazu. Tabelle 2 enthält als Primärschlüssel sowohl die AlbumID als auch die SongID und den Name des Songs.


    So sieht dann ein Eintrag aus:
    Tab1:
    5 / Mein Album


    Tab2:
    5 / 1 / Mein Song
    5 / 2 / Mein anderer Song


    Dies wären dann zwei Songs aus dem Album 5. Da der Primärschlüssel aus Album und Song ID besteht, kann kein doppelter Eintrag vorkommen.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Okey, ich glaube ich habe grob verstanden, wie das funktionieren soll,
    aber ein Beispiel von dir wäre wundervoll. Ich gebe dir zum Beispiel
    6 Angaben, die ich in zwei spalten speichern möchte:



    Fahrzeug-ID Marke Preis
    411
    560
    Porsche
    Audi
    18000
    60000


    Und das soll hat für alle SA:MP Fahrzeuge so laufen, was es echt viel macht.
    Zudem verstehe ich noch nicht, wie ich eine solch "normalisierte" Sache in
    Pawno auslesen und in einen Enum speichern soll.


    Aber danke schon mal @Jeffry

  • Da reicht sogar eine Tabelle:


    FahrzeugID Name Preis
    411 Porsche 18000
    560 Audi 60000


    Zum auslesen:
    SELECT * FROM fahrzeuge WHERE FahrzeugID = 411;


    Beim enum, wenn du alle auslesen willst, dann ohne die where Bedingung, und per Schleife in das enum schreiben. So wie gewohnt, wie immer.