什么是长字符串的最佳SQLite数据类型

时间:2012-03-18 03:39:00

标签: sql sqlite

在SQLite3中,我将存储一个非常长的字符串,如下所示:

string linkList = "www.blah.com,www.meh.com,www.hah.com"; 

肯定会超过255个字符,可能会超过1000个字符

linkList应该是varcharTEXT还是其他内容来存储可能超过1000个字符的字符串

CREATE TABLE(uId INT PRIMARY KEY, linkList varchar);

用于linkList列的最佳变量类型是什么?

3 个答案:

答案 0 :(得分:29)

你应该use TEXT。虽然,这与VARCHAR

相同
  

如果声明的列类型包含任何字符串“CHAR”,“CLOB”或“TEXT”,则该列具有TEXT亲和性。请注意,VARCHAR类型包含字符串“CHAR”,因此分配了TEXT affinity

还有:

  

请注意,SQLite会忽略类型名称后面的括号中的数字参数(例如:“VARCHAR(255)”) - SQLite不会对字符串的长度施加任何长度限制(除了大的全局SQLITE_MAX_LENGTH限制) ,BLOB或数值。

答案 1 :(得分:22)

实际上,SQLite中的所有数据类型都无关紧要,所有数据都将存储为字符串。 您可以执行查询CREATE TABLE(uId INT PRIMARY KEY, linkList BlahBlahString); 没有任何错误。 SQLite中的数据类型仅适用于sql兼容性

答案 2 :(得分:4)

您有2个选择可以在String

中存储长SQLite
  1. TEXT类型 - SQLite支持非常长的文本(我不知道确切的数字,但我测试了 33000 char SQLite3)
  2. BLOB类型:您可以使用BLOB数据类型来保存长字符串。