Ответ 1
В SQLite существует управляемая строка или ограничение по блокам. Значение по умолчанию - 10 ^ 9 байт. См. документацию Кстати, вам не нужно указывать его в объявлении столбца в любом случае.
После использования большого количества SQL Server
и SQL Server Compact
, я недавно начал использовать Sqlite
. В настоящее время я создаю таблицы в Sqlite и заметил, что при определении строковых столбцов не требуется вводить ограничение длины строки. В SQL Server
255-символьный тип данных строки определяется как: varchar(255)
. В SQL Server Compact
он определяется как: nvarchar(255)
.
Однако, в Sqlite
, похоже, что тип данных столбца может быть определен просто как text
без ввода какого-либо ограничения по размеру. Есть ли способ определить ограничение размера в sqlite? Или это даже не нужно?
В SQLite существует управляемая строка или ограничение по блокам. Значение по умолчанию - 10 ^ 9 байт. См. документацию Кстати, вам не нужно указывать его в объявлении столбца в любом случае.
SQLite позволяет писать VARCHAR(255)
или NVARCHAR(255)
, но единственная соответствующая его часть - CHAR
(которая дает столбец "сродство текста" ). Число в круглых скобках допускается для совместимости со стандартным SQL, но игнорируется.
В SQLite нет необходимости ограничивать длину строк, потому что (1) это не влияет на объем пространства, которое занимает строка на диске, и (2) нет произвольного предела (кроме SQLITE_MAX_LENGTH
) на длина строк, которые могут использоваться в INDEX
.
Если вам действительно необходимо установить ограничение на количество символов в столбце, просто добавьте ограничение типа CHECK(LENGTH(TheColumn) <= 255)
.