Каково максимальное ограничение размера типа данных varchar в sqlite? - PullRequest
33 голосов
/ 24 мая 2011

Я новичок в sqlite. Я хочу знать максимальный размер предела типа данных varchar в sqlite?

Может кто-нибудь предложить мне информацию, связанную с этим? Я искал на сайте sqlite.org, и они дают ответ как :

Q. Какой максимальный размер VARCHAR в SQLite?

A. SQLite не применяет длину VARCHAR. Вы можете объявить VARCHAR (10), и SQLite будет рад позволить вам поставить 500 персонажи в нем. И он сохранит все 500 символов без изменений - это никогда не усекает.

но я хочу знать точное ограничение максимального размера типа данных varchar в sqlite.

1 Ответ

34 голосов
/ 02 июня 2011

из http://www.sqlite.org/limits.html

Максимальная длина строки или BLOB

Максимальное количество байтов в строке или BLOB в SQLite определяется макросом препроцессора SQLITE_MAX_LENGTH. Значение этого макроса по умолчанию составляет 1 миллиард (1 тысяча миллионов или 1 000 000 000).Вы можете увеличить или уменьшить это значение во время компиляции, используя параметр командной строки, например:

-DSQLITE_MAX_LENGTH = 123456789 Текущая реализация будет поддерживать только строку или длину BLOB до 231-1 или 2147483647. Инекоторые встроенные функции, такие как hex (), могут выйти из строя задолго до этого.В приложениях, чувствительных к безопасности, лучше не пытаться увеличить максимальную длину строки и BLOB-объекта.Фактически, вы можете преуменьшить максимальную длину строки и большого двоичного объекта до нескольких миллионов, если это возможно.

Во время обработки SQLite INSERT и SELECT полное содержимое каждогоСтрока в базе данных закодирована как один BLOB.Поэтому параметр SQLITE_MAX_LENGTH также определяет максимальное количество байтов в строке.

...