我是sqlite的新手。我想知道sqlite中varchar数据类型的最大大小限制?
谁能告诉我一些与此相关的信息?我在sqlite.org网站上搜索了他们give the answer as:
问:SQLite中VARCHAR的最大大小是多少?
答:SQLite不强制使用VARCHAR的长度。你可以声明一个VARCHAR(10),SQLite很乐意让你输入500个字符。并且它将保持所有500个字符完整 - 它永远不会截断。
但我想知道sqlite中varchar数据类型的确切最大大小限制。
来自http://www.sqlite.org/limits.html
字符串或BLOB的最大长度
字符串中的最大字节数或SQLite中的BLOB由预处理器宏SQLITE_MAX_LENGTH定义。此宏的默认值为10亿(十亿或1,000,000,000)。您可以使用命令行选项在编译时提高或降低此值,如下所示:
-DSQLITE_MAX_LENGTH = 123456789当前实现仅支持长度为231-1或2147483647的字符串或BLOB长度。而在此之前,某些内置函数(如hex())可能会失败。在安全敏感的应用程序中,最好不要尝试增加最大字符串和blob长度。事实上,如果可能的话,你最好将最大字符串和blob长度降低到几百万的范围内。
在SQLite的INSERT和SELECT处理过程中,数据库中每行的完整内容被编码为单个BLOB。因此,SQLITE_MAX_LENGTH参数还确定一行中的最大字节数。