0

我有数据库电话簿和表联系人,为表联系人创建语句如下所示: CREATE TABLE 'contacts'('name' text collat​​e nocase,'surname' text collat​​e nocase,'street_name' text collat​​e nocase,'street_number' text collat​​e nocase , 'city' text collat​​e nocase, 'post' text collat​​e nocase, 'post_office_code'text collat​​e nocase, 'text_to_publish' text collat​​e nocase, 'area_code' text collat​​e nocase, 'phone' text collat​​e nocase, 'fax' text collat​​e nocase, 'email' 文本整理 nocase)

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

但是使用 Create table .. as select .. 结果集被复制到新表而不声明列属性(在我的情况下是 collat​​e nocase)。

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

4

1 回答 1

0

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

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

然后只需复制记录:

INSERT INTO tempInMemoryTable SELECT * FROM contacts;
于 2012-09-14T12:49:10.620 回答