Какой лучший тип данных SQLite для длинной строки
В SQLite3 я собираюсь хранить очень длинную строку, которая выглядит примерно так:
string linkList = "www.blah.com,www.meh.com,www.hah.com";
определенно превысит 255 символов, вероятно, будет более 1000 символов
Если столбец linkList
является varchar
, TEXT
или что-то еще, чтобы сохранить строку, которая, вероятно, будет длиннее 1000 символов
CREATE TABLE(uId INT PRIMARY KEY, linkList varchar);
Каким будет лучший тип переменной, который будет использоваться для столбца linkList
?
Ответы
Ответ 1
Вы должны использовать TEXT
. Хотя, это то же самое, что и VARCHAR
:
Если объявленный тип столбца содержит любую строку "CHAR", "CLOB" или "TEXT", то этот столбец имеет сходство TEXT. Обратите внимание, что тип VARCHAR содержит строку "CHAR" и, таким образом, присваивается TEXT-сродство
А также:
Обратите внимание, что числовые аргументы в круглых скобках, следующие за именем типа (например: "VARCHAR (255)"), игнорируются SQLite. SQLite не накладывает ограничений длины (кроме большого глобального предела SQLITE_MAX_LENGTH) на длину строк, BLOB или числовые значения.
Ответ 2
На самом деле, все типы данных в SQLite неважны, все данные будут храниться как строки. Вы можете выполнить запрос CREATE TABLE(uId INT PRIMARY KEY, linkList BlahBlahString);
без каких-либо ошибок. Тип данных в SQLite предназначен только для работы с sql
Ответ 3
У меня есть два варианта хранения длинной String
в SQLite
- Тип
TEXT
- SQLite поддерживает очень длинный текст (я не знаю точное число, но я тестировал 33000 char SQLite3) - Тип
BLOB
: вы можете использовать тип данных BLOB
для хранения длинной строки.