¿Cuál es el mejor tipo de datos de SQLite para una cadena larga?

En SQLite3 voy a almacenar una cadena muy larga que se parece a esto:

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

definitivamente excederá 255 caracteres, probablemente será más de 1000 caracteres

¿Debería la columna linkList ser un varchar, TEXT u otra cosa para almacenar una cadena que probablemente sea más larga que 1000 caracteres?

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

¿Cuál sería el mejor tipo de variable para usar en la columna linkList?

Deberías usar TEXT . Aunque, eso es lo mismo que VARCHAR :

Si el tipo declarado de la columna contiene cualquiera de las cadenas "CHAR", "CLOB" o "TEXT", esa columna tiene afinidad de TEXTO. Tenga en count que el tipo VARCHAR contiene la cadena "CHAR" y, por lo tanto, se le asigna TEXT afinidad

Y también:

Tenga en count que los arguments numéricos entre paréntesis que siguen el nombre del tipo (ej: "VARCHAR (255)") son ignorados por SQLite – SQLite no impone ninguna restricción de longitud (que no sea el gran límite global de SQLITE_MAX_LENGTH) en la longitud de cadenas, BLOB o valores numéricos.

En realidad, todos los types de datos en SQLite no tienen importancia, todos los datos se almacenarán como cadenas. Puede ejecutar la consulta CREATE TABLE(uId INT PRIMARY KEY, linkList BlahBlahString); sin ningún error El tipo de datos en SQLite es solo para compatibilidad con sql

Tienes dos opciones para almacenar una String larga en SQLite

  1. TEXT tipo – SQLite admite text muy largo (no sé el número exacto pero probé 33000 caracteres SQLite3)
  2. Tipo BLOB : puede usar el tipo de datos BLOB para contener cadenas largas.