Ответ 1
Потому что максимальный размер столбца BLOB. Вам необходимо использовать MEDIUMBLOB/LONGBLOB или MEDIUMTEXT/LONGTEXT.
Я пытаюсь вставить очень длинную текстовую строку в столбец MySQL Blob, но MySQL сохраняет только 64 КБ данных. Строка имеет длину 75360 символов. Я связываюсь с PHP mysql_connect()
.
Любые идеи?
Это имеет значение, если это Blob или Text. Первоначально я использовал его как текст, но не изменял его.
Потому что максимальный размер столбца BLOB. Вам необходимо использовать MEDIUMBLOB/LONGBLOB или MEDIUMTEXT/LONGTEXT.
A BLOB
тип в MySQL может хранить до 65534 байта, если вы попытаетесь сохранить больше, чем это много данных, MySQL усечет данные. MEDIUMBLOB
может хранить до 16,777,213 байт, а LONGBLOB
может хранить до 4 294 967 292 байта.
Если вы включите строгий режим SQL (режимы MySQL), вы получите сообщение об ошибке при попытке сохранить данные, которые не соответствуют тип столбца.
Вы также спросили, есть ли разница между BLOB и TEXT
BLOBS предназначены для двоичных данных. Если вы выполняете запрос LIKE в поле BLOB, он будет чувствителен к регистру.
то есть.
SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT
SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB
Столбец blob содержит только 64 Кбайт за документацию
Попробуйте вместо этого тип столбца mediumblob...