longtext 2^32 ?
flobee
- datenbank
(php+mysql)
hallo!
ich mache einen insert wo ein datensatz eines longtext feldes ca 1 MB gross ist.
irgendwo bei dieser datensatz grösse 1 MB +/- 100 KB wird der query aber nicht mehr ausgeführt und mysql liefert keine fehler zurück. ($result = 0, mysql_error() = 0)
kann mir jemand sagen wie ich das löse, einen grund finde?
oder kann ich nicht rechnen? 2^32 == 2*2*2*2*2*2*2*2*2..... ~ 4 GB ?
gruß flobee
-:: flobee :: -´
-.Hi,
oder kann ich nicht rechnen? 2^32 == 2*2*2*2*2*2*2*2*2..... ~ 4 GB ?
4294967296 Byte?
BTW - ich hatte mal ein aehnliches Problem mit einem DB-Treiber ("DBI") mit Perl. Das konnte ich seinerzeit loesen indem ich eine Eigenschaft geaendert habe (maxQueryLength wenn ich mal raten darf ;-).
Gruss,
Ludger
Halihallo flobee
ich mache einen insert wo ein datensatz eines longtext feldes ca 1 MB gross ist.
irgendwo bei dieser datensatz grösse 1 MB +/- 100 KB wird der query aber nicht mehr ausgeführt und mysql liefert keine fehler zurück. ($result = 0, mysql_error() = 0)
kann mir jemand sagen wie ich das löse, einen grund finde?
http://dev.mysql.com/doc/mysql/en/c.html
<cite>
For example, if you have BLOB values that contain up to 16MB of data, you must have a communication buffer limit of at least 16MB (in both server and client). The client's default maximum is 16MB, but the default maximum in the server is 1MB. You can increase this by changing the value of the max_allowed_packet parameter when the server is started. See Section 7.5.2, “Tuning Server Parameters”.
</cite>
Die MySQL Library begrenzt den Buffer auf Seiten des Servers auf
maximal 1MB. Um diese Grenze zu erhöhen, musst du die
max_allowed_packet erhöhen. Ansonsten fütterst du den Server mit mehr
Daten, als er maximal über die Verbindung annehmen kann.
oder kann ich nicht rechnen? 2^32 == 2*2*2*2*2*2*2*2*2..... ~ 4 GB ?
Das ist schon richtig.
Viele Grüsse
Philipp