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

saz*_*azr 25 sql sqlite

在SQLite3中,我将存储一个非常长的字符串,看起来像这样:

string linkList = "www.blah.com,www.meh.com,www.hah.com"; 
Run Code Online (Sandbox Code Playgroud)

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

如果该列linkList是一个varchar,TEXT还是其他什么东西来存储一个字符串,可能会超过1000个字符

CREATE TABLE(uId INT PRIMARY KEY, linkList varchar);
Run Code Online (Sandbox Code Playgroud)

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

Jor*_*dão 32

你应该TEXT.虽然,这与以下内容相同VARCHAR:

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

并且:

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


kre*_*dko 23

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


gif*_*pif 7

你有 2 种选择来存储一个长StringSQLite

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