Най-общо казано, това не е въпрос, който има "правилен" отговор. В MySQL няма тип съхранение на текст с "безкрайна дължина". Можете да използвате LONGTEXT
, но това все още има (абсурдно висока) горна граница. И все пак, ако го направите, ритате своята СУБД в зъбите, че трябва да се справяте с това абсурдно петно от колона за вашия 50-знаков текст. Да не говорим за факта, че почти нищо не правиш с него.
Така че, най-голяма устойчивост на бъдещето (TM) вероятно се предлага от LONGTEXT
. Но това също е много лош метод за решаване на проблема. Честно казано, бих преразгледал изискванията за кандидатстване. Съхраняването на низове, които нямат „домейн“ (както са добре дефинирани в приложението си) и произволна дължина, не е една от силните страни на RDBMS.
Ако искам да реша това на ниво „дизайн на приложението“, бих използвал NoSQL хранилище ключ-стойност за това (и аз съм толкова анти-NoSQL-hype, колкото и те, така че знаете, че е сериозно), дори въпреки че осъзнавам, че това е доста скъпа промяна за такава малка промяна. Но ако това е индикация за това какво в крайна сметка ще задържи вашата СУБД, може да е по-разумно да превключите сега, за да избегнете същия проблем стотици пъти в бъдеще. Домейнът на данни е много важен в RDBMS, докато в нерелационните решения е изрично отстранен, което изглежда е това, което се опитвате да решите тук.
Заседнал с MySQL? Просто го увеличете до VARCHAR(1000)
. Ако нямате изисквания към данните си, така или иначе е без значение какво правите.