Какую длину я должен дать полю MYSQL VARCHAR, которое хранит подпись в JSON?

Я пытаюсь хранить подписи в базе данных. Я использую плагин панели подписи (signaturePad), который преобразует canvas в JSON и теперь хотите сохранить подпись в MySQL.

Я использую поле VARCHAR, но не уверен, какую длину разрешить. Я пробовал несколько раз и обычно получаю строку от 2000 до 3000 символов.

Вопрос:
Что мне следует использовать для длины поля в MYSQL? Я не знаю, как выполняется преобразование CANVAS=>JSON, так что, может быть, кто-нибудь подскажет, чего ожидать?

Спасибо!


person frequent    schedule 25.10.2012    source источник


Ответы (3)


Я бы не использовал VARCHAR, я бы использовал TEXT. При этом вы можете пожертвовать производительностью, но вам не придется беспокоиться об ограничениях по размеру.

Редактировать:

Кроме того, максимальное значение VARCHAR равно VARCHAR(65535). Просто сделаю там заметку ..

person burmat    schedule 25.10.2012
comment
Я могу установить text на пустую строку, если подпись не предоставлена, не так ли? - person frequent; 26.10.2012
comment
Да, вы можете отправить '' или NULL, и ничего не сломается - person burmat; 26.10.2012

Не используйте VARCHAR. Используйте TEXT.

Изложено в документации для плагина signaturePad

person Dancrumb    schedule 25.10.2012

вероятно, лучше использовать один из типов данных TEXT.

TINYTEXT    256 bytes    
TEXT    65,535 bytes    ~64kb
MEDIUMTEXT   16,777,215 bytes   ~16MB
LONGTEXT    4,294,967,295 bytes ~4GB

Это также зависит от вашей версии MySQL.

см .: Действителен ли VARCHAR (20000) в MySQL?

person djjolicoeur    schedule 25.10.2012