在内存sqlite表中不区分大小写的搜索

时间:2012-09-14 09:00:33

标签: sqlite

我有数据库电话簿和表联系人,表联系人的Create语句如下所示:     创建表'联系人'(     'name'文本整理nocase,     'surname'文本整理nocase,     'street_name'文本整理nocase,     'street_number'文本整理nocase,     'city'文本整理nocase,     'post'文本整理nocase,     'post_office_code'text整理nocase,     'text_to_publish'文本整理nocase,     'area_code'文本整理nocase,     '手机'文本整理nocase,     '传真'文本整理nocase,     'email'文本整理nocase)

我设法从java代码加载到内存中:     “ATTACH”电话簿'AS tempInMemoryDb'和     “CREATE TABLE tempInMemoryTable AS SELECT * FROM'contacts';”

但是使用Create table ..作为select .. resultset被复制到新表而不声明列属性(在我的例子中是collat​​e nocase)。

我需要的是不区分大小写的搜索,但是在内存表中,您能告诉我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果您已经知道表结构,则可以使用相同的结构创建表:

CREATE TABLE tempInMemoryTable(name text collate nocase, ...)

然后只复制记录:

INSERT INTO tempInMemoryTable SELECT * FROM contacts;