Ankündigung

Einklappen
Keine Ankündigung bisher.

Array => Datenbank

Einklappen

Neue Werbung 2019

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

  • Array => Datenbank

    Morgen allerseits,

    ich habe ein Array (2 dimensional) un möchte das in eine Datenbank speichern.

    Die "erste Dimension" (nennt man das so) soll jeweils eine Zeile darstellen, die "zweite Dimension" pro Zeile natürlich die entsprechenden Felder. Das Array hat ca 40.000 werte, wobei jeder dieser Werte nochmal ein Array mit 5-6 werten ist.

    Meine frage: Wie kriege ich das am besten und performantesten in meine Datenbank (MySQL)?

    alxy

  • #2
    Vertell us doch mol, wie dat Array in echt aussehen tut...
    Also mal ein Array-Dump, wenn möglich...

    Kommentar


    • #3
      ich habe ein Array
      aus einer Textdatei oder woher kommt das ?

      Kommentar


      • #4
        Zitat von Koala Beitrag anzeigen
        aus einer Textdatei oder woher kommt das ?
        Aus einer xls-Datei kommt das.

        Code:
        array(1658) { [1]=> array(8) { ["A"]=> string(8) "Lager_id" ["B"]=> string(7) "Palette" ["C"]=> string(8) "Itemname" ["D"]=> string(4) "ASIN" ["E"]=> string(3) "EAN" ["F"]=> string(7) "Zustand" ["G"]=> string(4) "Land" ["H"]=> string(8) "VK netto" } [2]=> array(8) { ["A"]=> string(10) "dasdasdas222" ["B"]=> string(10) "123456789" ["C"]=> string(66) "*****" ["D"]=> string(10) "aaa111" ["E"]=> string(13) "666666666666666" ["F"]=> string(6) "B-Ware" ["G"]=> string(2) "DE" ["H"]=> string(9) " 3.82 €" } [3]=> array(8) {
        So sieht das aus, wobei das eine kleinere Datei ist. Gibt auch größere

        Kommentar


        • #5
          So wäre es einfach, ich vermisse das:
          wobei jeder dieser Werte nochmal ein Array mit 5-6 werten ist.
          Oder sollen das die sein?

          Kommentar


          • #6
            40.000 werte mit dump? bitte nicht!
            aber die struktur wäre schon hilfreich - auch die angedachte db-struktur!

            Kommentar


            • #7
              Zitat von Arne Drews Beitrag anzeigen
              So wäre es einfach, ich vermisse das:
              Oder sollen das die sein?
              Die ABCD... sind die 5-6 Werte Wobei nicht alle davon eben in die datenbank sollen/müssen

              Kommentar


              • #8
                Sind denn die, die in die DB rein sollen IMMER die gleichen oder variiert das?
                Dann wäre noch gut zu wissen, wie die Tabelle in der DB aufgebaut ist.

                Kommentar


                • #9
                  Zitat von Arne Drews Beitrag anzeigen
                  Sind denn die, die in die DB rein sollen IMMER die gleichen oder variiert das?
                  Dann wäre noch gut zu wissen, wie die Tabelle in der DB aufgebaut ist.
                  Immer die gleichen.

                  Die DB sieht so aus:
                  Code:
                  id|lager_id|item_name|...|vk_netto|...
                  Die ... stehen für weitere Angaben, die aber nicht befüllt werden sollen vorerst

                  Kommentar


                  • #10
                    Dann iterierst Du über das Array und bastelst Dir einen Multiple-Insert zusammen.
                    Wo hängst Du da?

                    Deine Frage hat mich vermuten lassen, daß Dir die grundlegende INSERT-Anweisung bekannt ist?!

                    Kommentar


                    • #11
                      Meine frage: Wie kriege ich das am besten und performantesten in meine Datenbank (MySQL)?
                      Und schon wieder ne "Wie bekomme ich" Frage. Fang an und komm wieder, wenn DU auf Probleme stößt!

                      Kommentar


                      • #12
                        Zitat von Arne Drews Beitrag anzeigen
                        Dann iterierst Du über das Array und bastelst Dir einen Multiple-Insert zusammen.
                        Wo hängst Du da?

                        Deine Frage hat mich vermuten lassen, daß Dir die grundlegende INSERT-Anweisung bekannt ist?!
                        Der ist mir tatsächlich bekannt, habe ja auch gegooglet, aber 40.000er INSERT?
                        Ich habe auch über die LOAD-Funktion gelesen, allerdings ist mir das zu umständlich. werde mal die performance dieses multiple-Inserts testen.

                        Kommentar


                        • #13
                          Das macht Sinn. Im Notfall aufteilen auf mehrere Inserts.
                          Oder den kompletten Insert als .sql-Datei schreiben und als Dump in phpmyAdmin zurückschreiben...

                          Kommentar


                          • #14
                            allerdings ist mir das zu umständlich.
                            Auf dieser argumentativen Ebene kommen wir natürlich weiter..

                            Kommentar


                            • #15
                              Zitat von Arne Drews Beitrag anzeigen
                              Das macht Sinn. Im Notfall aufteilen auf mehrere Inserts.
                              Oder den kompletten Insert als .sql-Datei schreiben und als Dump in phpmyAdmin zurückschreiben...
                              Das ganze soll automatisiert über PHP gehen...
                              Die Laufzeit des Skripts sollte allerdings eben nicht ins utopische gehen.

                              Und @nikosch: Ich habe gelesen, dass das LOAD alle vorherigen Datensätze überschreibt. Das würde mir auch nicht helfen (evt nur beim ersten INSERT, denn die performance ist echt megagut)

                              Kommentar

                              Lädt...
                              X