Langen Datensatz in MySQL-DB speichern

  • Hallo zusammen,


    ich versuche nun seit mehreren Tagen einen ziemlich langen Datensatz per PHP-Skript in eine MySQL-DB zu speichern. Lang bedeutet, die MySQL-Tabelle hat 182 Spalten.
    Sobald ich im INSERT-Befehl mehr als ca. 32 Einträge (= Spalten) in einem Datensatz vornehmen möchte, bricht das Skript mit einer Fehlermeldung (...error in your MySQL-Syntax near...) ab. :(
    Nehme ich beispielsweise eine INSERT- und viele UPDATE-Befehlszeilen, um den Eintrag zu splitten, funktioniert es problemlos. Aber das kann doch nicht wirklich Sinn dieser Übung sein.


    Sehe ich vor lauter Bäumen den Wald nicht?? :confused:



    Ich hoffe, ich habe mich verständlich ausgedrückt und würde mich sehr freuen, wenn hier jemand eine Lösung hätte.


    Grüße
    Micha

  • Hallo,
    ich würde mal vermuten, dass es sich um einen net_write_timeout (bei mir auf 60 s festgelegt) oder die Überschreitung irgend einer anderen Begrenzung handelt.
    Möglicherweise dauert es einfach zu lange diese 182 Felder mit Inhalt zu füllen.


    Wofür brauchst Du denn überhaupt so eine "Monsterdatenbank" mit so vielen Feldern? ;) Kann man das nicht auch anders lösen?


    Gruß Christian[SH]

  • Tabellen mit soviel spalten sind alles andere als optimal... versuch doch einige spalten in andere Tabellen zu legen und dann eine verknüpfung per join zu machen ... 182 Felder, man o man ... wie hast du da überhaupt eine Übersicht??

    -> Tristan @ Work <-
    --

  • Muss Tristan da zustimmen. Deine Tabelle erfüllt keine einzige Normalität.
    Obwohl die refernzielle Integrität bei mySQL nicht unterstützt wird
    macht es keinen Sinn solche Tabellen anzulegen.
    Mit einem Left Outer / Natural Join kannst du die Daten viel besser
    selektieren und projezieren.
    ciao
    Benny

    o2 can't do

  • Herzlichen Dank. Ich werde versuchen, die Datensätze einzeln in der DB abzulegen.
    (Bisher sollten praktisch 45 Datensätze in einem langen Datensatz abgelegt werden).


    Nochmals Danke für den schnellen Support.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!