Какой тип данных SQLite лучший для длинной строки - PullRequest
21 голосов
/ 18 марта 2012

В 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?

Ответы [ 3 ]

29 голосов
/ 18 марта 2012

Вы должны использовать TEXT.Хотя это то же самое, что и VARCHAR:

Если объявленный тип столбца содержит любую из строк «CHAR», «CLOB» или «TEXT», то этот столбец имеет сходство TEXT.,Обратите внимание, что тип VARCHAR содержит строку «CHAR» и, таким образом, ему присваивается сходство TEXT

А также:

Обратите внимание, что числовые аргументы в скобках, следующие за именем типа (например: «VARCHAR (255)») игнорируется SQLite - SQLite не накладывает никаких ограничений длины (кроме большого глобального ограничения SQLITE_MAX_LENGTH) на длину строк, больших двоичных объектов или числовых значений.

22 голосов
/ 01 апреля 2013

На самом деле, все типы данных в SQLite не имеют значения, все данные будут храниться в виде строк.Вы можете выполнить запрос CREATE TABLE(uId INT PRIMARY KEY, linkList BlahBlahString); без каких-либо ошибок.Тип данных в SQLite только для совместимости с SQL

4 голосов
/ 23 апреля 2016

У вас есть 2 варианта для хранения длинных String в SQLite

  1. TEXT type - SQLite поддерживает очень длинный текст (я не знаю точное число, но я тестировал 33000 char SQLite3)
  2. BLOB тип: Вы можете использовать BLOB Тип данных для хранения длинной строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...