В чем разница между longblob и longtext в mysql?

В чем разница между longblob и longtext в mysql?

Что я должен использовать, чтобы сохранить длинную тему?


person faressoft    schedule 05.04.2011    source источник


Ответы (3)


BLOB предназначены для больших двоичных объектов. Если вы храните двоичные данные в своей БД, то BLOB будет типом таблицы, который вам нужен. В противном случае.. длинный текст.

В вашем случае длинный текст.

person evilone    schedule 05.04.2011
comment
что в этом плохого? Google - мой друг, и я тоже могу научиться, выполняя поиск в Google и помогая другим людям :) - person evilone; 05.04.2011
comment
В этом нет ничего плохого, я хотел опубликовать точно такой же, но вы опередили меня на несколько секунд, ха-ха! +1 - person ; 05.04.2011
comment
Попробуйте процитировать свои источники, попросите пользователя погуглить в этом случае и, возможно, понизить рейтинг ОП, если он того заслуживает. Хотя +1 за это. - person Francisco Presencia; 19.11.2012

BLOB и TEXT в основном идентичны, за исключением того, что к полям TEXT применяются правила преобразования набора символов. Поля BLOB нет. Итак, с BLOB вы получаете то, что вы вкладываете. С помощью ТЕКСТА то, что вы вводите, может не совпадать с тем, что вы получаете.

person Marc B    schedule 05.04.2011
comment
Например? Ваше заявление создает тайну. - person Vishal Kumar Sahu; 11.02.2017
comment
@SahuVKumar: я предполагаю, что безопасно помещать текстовые данные в типы BLOB или TEXT. Однако я предполагаю, что размещение двоичных данных в типах BLOB и TEXT может дать разные результаты. - person rinogo; 28.08.2020

Вы можете использовать сопоставление и наборы символов для TEXT столбцов, что будет означать, что:

  1. Если вы укажете другую кодировку для соединения, отличную от столбца TEXT (например, столбец latin1, запрошенный utf-8), MySQL преобразует содержимое в требуемую кодировку.
  2. Вы можете сортировать и сравнивать TEXT столбцов на основе сортировки.

BLOB — это просто «двоичные последовательности», и вы получите их «как есть».

person Wrikken    schedule 05.04.2011
comment
преобразовать содержимое — хороший намек на то, что люди обычно не упоминают, объясняя разницу между BLOB и TEXT: производительность. Иногда оба могут подойти для некоторых данных, поэтому было бы разумно выбрать тот, у которого наименьшая потеря производительности. - person Cristian Vrabie; 24.04.2013
comment
Я думаю, что это то, что я испытываю, и это может помочь: конкретный пример, когда это происходит, - это длинное текстовое поле Drupal с указанным UTF-8 Unicode, которое вызывает исключение PDO, когда вставляется эмодзи более высокого уровня Unicode (???? в этом случае), но та же база данных с полем LONGBLOG прекрасно его принимает. - person texas-bronius; 12.02.2019