Ciao a tutti,
ho un campo longtext che non riesce a salvarmi più di 1800 caratteri.
Cosa mi suggerite di fare in Phpmyadmin?
Grazie sempre per la vostra gentile attenzione!
Ciao a tutti,
ho un campo longtext che non riesce a salvarmi più di 1800 caratteri.
Cosa mi suggerite di fare in Phpmyadmin?
Grazie sempre per la vostra gentile attenzione!
Ciao,
a parte la sezione errata, c'è la sezione database per queste cose, un campo longtext non ti sembra un pò eccessivo? Sono 4GB di testo ^^
PS: ti sposto il thread nella sezione corretta
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Grazie e scusami per l'errore!
Veramente 1800 caratteri sono 1800 byte o qualche kb se salvati in qualche codifica strana...
4GB corrispondono a 4294967296 caratteri, è un po' diverso no?![]()
Comunque per il resto non so aiutarti![]()
php_4ever se non sai quel che dici ... non dire nulla!
Dai una lettura a questa pagina e poi ne riparliamo
http://dev.mysql.com/doc/refman/5.0/...uirements.html
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Dalla pagina che mi hai segnalato:Originariamente inviato da daniele_dll
php_4ever se non sai quel che dici ... non dire nulla!
Dai una lettura a questa pagina e poi ne riparliamo
http://dev.mysql.com/doc/refman/5.0/...uirements.html
Di conseguenza una lettera è 2 byte, di conseguenta 1800 sono 3600 bytes, cioè all'incirca 3kb e mezzoThe length of 'abcd' is eight bytes
EDIT: per la precisione non una lettera, un carattere.
@php_4ever
la dimensione del singolo carattere dipende dalla codifica utilizzata, evita di prendere frasi a caso da una pagina e riportarle, ti riporto, per intero, il paragrafo dal quale hai preso la frase:
Che tradottoFor example, a VARCHAR(255) column can hold a string with a maximum length of 255 characters. Assuming that the column uses the latin1 character set (one byte per character), the actual storage required is the length of the string (L), plus one byte to record the length of the string. For the string 'abcd', L is 4 and the storage requirement is five bytes. If the same column is instead declared to use the ucs2 double-byte character set, the storage requirement is 10 bytes: The length of 'abcd' is eight bytes and the column requires two bytes to store lengths because the maximum length is greater than 255 (up to 510 bytes).
Sta semplicemente dicendo che lo spazio occupato su disco dipende, oltre dai dati che vanno salvati, anche dal charset che è stato scelto e che ovviamente se prendo un charset a singolo byte consumerò X, se prendo un charset a doppio byte consumerò Y, se prendo il charset utf-8 consumerò ancora un'altra quantità diversa di spazio.Per esempio, una colonna VARCHAR(255) può conservare una stringa lunga al massimo 255 caratteri. Assumendo che questa colonna utilizza un charset latin1 (un byte per carattere), lo spazio occupato corrisponderà alla lunghezza della stringa più un byte per registrare la lunghezza della stringa . Per la stringa 'abcd', la lunghezza sarà 4 e lo spazio occupato sarà 5 byte. Se la stessa colonna è invece dichiarata per usare una codifica ucs2 a doppio byte, lo spazio occupato sarà di 10 byte: la lunghezza di 'abcd' è otto byte e la colonna necessità di 2 byte per conservare la lunghezza perché la lunghezza massima è superiore a 255 (2 byte per carattere significano fino a 510 byte).
Per altro avevo linkato la pagina in riferimento al campo longtext:
Detto questo, ripeto quello che ho scritto prima:LONGBLOB, LONGTEXT L + 4 bytes, where L < 2 ^ 32
"un campo longtext non ti sembra un pò eccessivo? Sono 4GB di testo"
Se deve salvare 1800 caratteri, non sono eccessivi 4gb di testo?
Non ci vedo nulla di cosi complesso nella mia affermazione![]()
Per altro non volevo avviare una discussione, inutile, sull'argomento ma semplicemente fargli notare che poteva cambiare tipo di colonna e passare ad una TEXT o, se, eventualmente, al massimo, MEDIUMTEXT.
Inoltre lettera e carattere sono pressoché la stessa cosa in quanto la prima è un sotto insieme della seconda ed entrambi sono soggetti alla codifica utilizzata.
@pasqualedi
Esattamente che messaggio d'errore ricevi?
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Quindi intendevi che 4GB era il massimo memorizzabile? Beh, allora il tuo secondo messaggio era un po' inutile, con quel link e comunque scusa se ho inteso male il tuo messaggio...Originariamente inviato da daniele_dll
@php_4ever
la dimensione del singolo carattere dipende dalla codifica utilizzata, evita di prendere frasi a caso da una pagina e riportarle, ti riporto, per intero, il paragrafo dal quale hai preso la frase:
Che tradotto
Sta semplicemente dicendo che lo spazio occupato su disco dipende, oltre dai dati che vanno salvati, anche dal charset che è stato scelto e che ovviamente se prendo un charset a singolo byte consumerò X, se prendo un charset a doppio byte consumerò Y, se prendo il charset utf-8 consumerò ancora un'altra quantità diversa di spazio.
Per altro avevo linkato la pagina in riferimento al campo longtext:
Detto questo, ripeto quello che ho scritto prima:
"un campo longtext non ti sembra un pò eccessivo? Sono 4GB di testo"
Se deve salvare 1800 caratteri, non sono eccessivi 4gb di testo?
Non ci vedo nulla di cosi complesso nella mia affermazione![]()
Per altro non volevo avviare una discussione, inutile, sull'argomento ma semplicemente fargli notare che poteva cambiare tipo di colonna e passare ad una TEXT o, se, eventualmente, al massimo, MEDIUMTEXT.
Inoltre lettera e carattere sono pressoché la stessa cosa in quanto la prima è un sotto insieme della seconda ed entrambi sono soggetti alla codifica utilizzata.
@pasqualedi
Esattamente che messaggio d'errore ricevi?
Ciao!
beh inutile relativamente in quanto un errore di progettazione è un errore e va risolto ^^ seppur in questo caso banale ... ma errore è![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
No xD, intendo il messaggio in cui linkavi a me la pagina, l'errore del LONGTEXT va sì corretto!Originariamente inviato da daniele_dll
beh inutile relativamente in quanto un errore di progettazione è un errore e va risolto ^^ seppur in questo caso banale ... ma errore è![]()