Probleme mit Spaltenerweiterung MySQL Datenbank *HILFE*


#1

Hallo zusammen,

ich möchte die Tabelle oxarticles um weitere Spalten ergänzen. Aktuell hat die Tabelle 238 Spalten und 9000 Zeilen. Es sollen noch 60 Spalten hinzukommen. Beim Anlegen der neuen Spalten bekomme ich folgende Fehlermeldung:
SQL Fehler (1118): Row size too large. The maximum row size of the used table type is 8126. You have to change some columns to TEXT oder BLOBs.

Wenn ich z.B. die neuen Spalten alle als TEXT anlege, kommt trotzdem die gleiche Fehlermeldung. Auch wenn ich bereits vorhandene Spalten in TEXT ändere. Ich kenne ich mit MySQL eigentlich nicht großartig aus. Hoster All-Inkl konnte mir diesbezüglich nicht weiterhelfen.
Was kann ich denn tun um die Spalten zu ergänzen? Ich habe mal testweise die Datenbank Engine in der Testumgebung von InnoDB auf MyISAM geändert, dann hats funktioniert. Ist aber wahrscheinlich auch nicht Sinn der Sache. Weiß auch nicht ob das dann irgendwelche Konsequenzen hat.

Hat hier jemand Erfahrung und kann mir da irgendwie weiterhelfen? Ist das vielleicht auch Einstellungssache in der my.ini?

Gruß Marco


#2

Vielleicht solltest du erwähnen, warum dass alles in die oxarticles muss. Zusatztabellen wären sinnvoller.
Gruss
Marcel


#3

https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html#row-size-limits


#4

Grundsätzlich muss das nicht alles in die oxarticles. Ich habe einfach halber alles in die oxarticles gepackt. Das war für mich am einfachsten. Es spricht nichts dagegen die ganzen Daten in eine andere Tabelle zu schieben. Allerdings habe ich keine Ahnung wie ich eine zusätzliche Tabelle anlegen muss. Unserer Wawi schiebt die zusätzlichen Daten einfach in die oxarticles.
Wie funktioniert das dann, wenn ein Artikel übers OXID Backend oder Wawi gelöscht wird. Werden die Daten bzw. dann die Zeile in der Zusatztabelle ebenfalls mitgelöscht oder entstehen dann Leichen, die dann später separat gelöscht werden müssen?
Für eine Unterstützung wäre ich sehr dankbar. Muss selbstverständlich auch nicht für umsonst sein.

Gruß


#5

Hallo Marco,

es geht doch hier um die JTL-Wawi, dann teile uns doch bitte mit was Du brauchst.
Die Wawi bzw. der Connector müssen wissen welche Daten wohin sollen bzw. wo Sie geändert oder wenn nötig gelöscht werden sollen.

Einfach eine Tabelle anlegen hilft hier nicht, es hilft auch nichts wenn Sie oxarticles unendlich erweitern.

Lassen Sie uns das besprechen, wir finden eine Lösung


#6

MySql Tabellen haben eine Begrenzung von Speicherplatz per Zeile. Datentypen wie VARCHAR reservieren den Speicherplatz, auch wenn er nicht verwendet wird. Wenn du aber einen variablen binären Typ verwendest wie z.B. TEXT, dann wird der Speicherplatz nicht reserviert und die MySql meckert nicht. Eine andere Möglichkeit ist natürlich eine eigene Tabelle anzulegen für deine neuen Spalten, wie bereits hier oben erwähnt.