Seite 1 von 1

MySQL Import Frage

Verfasst: 13.04.2010, 19:02
von basti007
Wer kann mir bei einem SQL Problem helfen? Ich möchte gerne ein ziemlich langes Statement in meine SQL-Datenbank einfügen. Das Statement ist allerdings wirklich ziemlich, ziemlich lang (rund 1 Million Zeichen). Es handelt sich wohl um eine Link Sammlung von einem Wordpress-Plugin.

=> INSERT INTO `wp_options` (`option_id`,`blog_id`,`option_name`,`option_value`,`autoload`) VALUES (...laaanges Statement...);

Fehlermeldung: "Got a packet bigger than 'max_allowed_packet' bytes"

Ist auch nicht zu unwahrscheinlich bei einem über 1 MB großen Statement. Wie krieg ich die Spalte nun trotzdem ins MySQL gebacken?

[Hintergrund: Eine MySQL-Datenbank soll umgezogen werden und beim kopieren eben dieser Spalte gibts besagtes Problem. Da ich den Inhalt nicht genau entschlüsseln kann und auch nicht weiß, mit welchem Syntax das da abgelegt worden ist, kann ich an dem Statement jetzt auch nichts ändern. Ob ich beim Hoster die Einstellungen von MySQL ändern darf, bezweifle ich].

Re: MySQL Import Frage

Verfasst: 13.04.2010, 19:30
von elevar
Eine Möglichkeit wäre unter Umständen, die Abfrage

Code: Alles auswählen

INSERT INTO `tabelle` (`feld1`, `feld2`, `feld3`, `feld4`, `feld5`, ...) VALUES ("wert1", "wert2", "wert3", "wert4", "wert5", ...)
aufzusplitten in

Code: Alles auswählen

INSERT INTO `tabelle` () VALUES()

Code: Alles auswählen

UPDATE `tabelle` SET `wertX`="wertX" WHERE (... )
Für X=1,2,3,4,5,... und eine entsprechende Bedingung in der Where-Clause. Das würde allerdings Handarbeit oder ein Makro benötigen.