Perché nella mia colonna di dati MySQL vengono salvati solo 64 KB di dati?
Domanda
Sto cercando di inserire una stringa di testo molto lunga in una colonna BLOB MySQL, ma MySQL sta solo salvando 64 KB di dati. La stringa è lunga 75360 caratteri. Mi sto collegando con mysql_connect ()
di PHP.
Qualche idea?
Fa differenza se si tratta di BLOB o di testo. Inizialmente lo avevo come testo, ma l'ho modificato senza alcun effetto.
Soluzione
Perché questa è la dimensione massima di un BLOB colonna. Devi utilizzare MEDIUMBLOB / LONGBLOB o MEDIUMTEXT / LONGTEXT.
Altri suggerimenti
Un tipo BLOB
in MySQL può memorizzare fino a 65.534 byte, se si tenta di memorizzare più di così tanti dati MySQL troncerà i dati. MEDIUMBLOB
può memorizzare fino a 16.777.213 byte e LONGBLOB
può memorizzare fino a 4.294.967.292 byte.
Se abiliti la modalità SQL rigorosa ( Modalità MySQL ) verrà visualizzato un errore quando si tenta di archiviare dati che non rientrano nel tipo di colonna.
Hai anche chiesto se c'è una differenza tra BLOB e TEXT
BLOBS sono per dati binari. Se esegui una query LIKE su un campo BLOB, sarà sensibile al maiuscolo / minuscolo.
cioè.
SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT
SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB
La colonna BLOB è solo 64 KB per la documentazione
Prova invece un tipo di colonna mediumblob ...