我有数据库电话簿和表联系人,表联系人的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被复制到新表而不声明列属性(在我的例子中是collate nocase)。
我需要的是不区分大小写的搜索,但是在内存表中,您能告诉我该怎么做?
答案 0 :(得分:0)
如果您已经知道表结构,则可以使用相同的结构创建表:
CREATE TABLE tempInMemoryTable(name text collate nocase, ...)
然后只复制记录:
INSERT INTO tempInMemoryTable SELECT * FROM contacts;