Pergunta

Eu estou tentando inserir uma cadeia de texto muito longo para uma coluna de MySQL Blob, mas o MySQL só está salvando 64kB dos dados. A corda é 75360 caracteres. Eu estou conectando com mysql_connect() do PHP.

Todas as idéias?

Será que fazer a diferença se é Blob ou texto. Originalmente, eu tinha-o como um texto, mas mudou-lo sem afetar.

Foi útil?

Solução

Porque essa é a máxima tamanho de um BLOB coluna. Você precisa usar MEDIUMBLOB / LONGBLOB ou MEDIUMTEXT / LONGTEXT.

Outras dicas

Um tipo BLOB no MySQL pode armazenar até 65.534 bytes, se você tentar armazenar mais do que isso MySQL dados muito irá truncar os dados. MEDIUMBLOB pode armazenar até 16,777,213 bytes, e LONGBLOB pode armazenar até 4,294,967,292 bytes.

Se você ativar o modo SQL estrito ( MySQL modos ), você receberá um erro quando você tentar armazenar dados que não se encaixam no tipo de coluna.

Você também perguntou se há uma diferença entre BLOB e TEXT
BLOBS são para dados binários. Se você fizer uma consulta como em um campo BLOB será maiúsculas de minúsculas.

i.

SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT

SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB

A coluna blob é de apenas 64Kb por a documentação

Tente um tipo de coluna MEDIUMBLOB vez ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top