2012-03-18 117 views
2

我是SQL新手,有列表或向量變量類型嗎?我可以有一個類型爲字符串列表的列嗎?SQLite中的向量/列表

也許是這樣的:

CREATE TABLE myTbl(domain varchar PRIMARY KEY, linkList list<varchar>); 

我可以追加一個字符串像這樣(通過使用 '+ =' 運算符):

UPDATE myTbl SET linkList += "www.test.com," WHERE domain="blah"; 
// Table is like so 
CREATE TABLE myTbl(domain varchar PRIMARY KEY, linkList varchar); 
// Column linkList is a string of links separated by comma's 

回答

0

據我所知,這在SQLite中是不可能的(可能這是名稱中'Lite'的原因之一)。在底層它只有存儲類型:64位整數SQLITE_INTEGER,64位浮點數(雙精度)SQLITE_FLOAT,blob(二進制)SQLITE_BLOB和字符串SQLITE_TEXT。所有的SQL類型都映射到這些類型。還有SQLITE_NULL

0

SQLite中沒有列表數據類型。

但是你可以變通方法,限制:

  1. 將您的列表,以JSON(包括單獨逃逸的每個元素),
  2. 把JSON字符串到您的表作爲SQLITE_TEXT。

很明顯,JSON有很大的性能影響,並且向列表添加元素需要花費時間(讀取,反序列化,添加,序列化,更新)。