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.

È stato utile?

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 ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top