Ankündigung

Einklappen
Keine Ankündigung bisher.

mySQL: Wert in nächste leere Spalte eintragen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mySQL: Wert in nächste leere Spalte eintragen

    Hey Leute!

    Versuche momentan ein System zu programmieren, mit dem ich mehrere Artikel (in Form von Artikelnummern) in einem Paket zusamenfassen kann. Habe mir gedacht, ich erstelle eine Tabelle, in dem die PaketID in einer Spalte und die IDs der einzelnen Artikel in den restlichen spalten stehen.
    Allerdings will ich die Pakete nach und nach mit Artikeln befüllen, bzw. auch Artikel wieder entfernen können: Da scheint es mir wohl doch nich so praktisch, die Artikel in einzelne spalten zu schreiben. Schließlich müsste ich dann ja vorm INSERT immer erst gucken, welche die nächste freie Spalte ist (was meines Wissens mit mysql nicht machbar ist).

    Hat jemand ein paar Tipps für mich, wie ich das am effizientesten lösen kann?
    Hatte schon überlegt, ob ich alle in eine Textspalte schreibe und dann mit Trennzeichen trenne ... Dann wären Suchen á la "SELECT PaketID FROM pakete WHERE meineArtikelID = 12345" wohl ziemlich umständlich.

    Würd mich also über Tipps und Anregungen sehr freuen! Danke

  • #2
    Mach es doch so:

    packet
    - packet_id Primärschlüssel
    - packet_name

    artikel
    - artikel_id Primärschlüssel
    - artikel_name

    artikel_zu_packet
    - packet_id Fremdschlüssel
    - artikel_id Fremdschlüssel

    Kommentar


    • #3
      Danke für Deine Antwort! Habe gerade ein bisschen gegooglt, da ist mir aufgefallen, dass ich für die Fremdschlüssel-Methode eine InnoDB-Tabelle brauche. Da ich in meine Tabellen CSVs bzw. XLSXs importiere sind die Tabellen leider keine InnoDBs und kann - scheinbar - auch keine draus machen. Gibts wohl noch eine andere Lösung?

      Kommentar


      • #4
        Du brauchst dafür nicht InnoDB. Es geht oben eher um die logische Verbindung der Datensätze nicht um die Umsetzung durch eine Datenbank. Von daher musst du eben darauf achten die entsprechenden IDs entsprechend zu setzen.

        Kommentar

        Lädt...
        X