SQLite的.如何在附加数据库中创建索引?

kap*_*ppa 5 database sqlite

我有一个问题,添加索引到附加到主数据库的内存数据库.

1)我从文件中打开数据库(F)

2)附加:memory:(M)数据库

3)在数据库M中创建表

4)将数据从F复制到M

我还想在数据库M中创建一个索引,但不知道该怎么做.此代码创建索引,但在F数据库中:

sQuery = "CREATE INDEX IF NOT EXISTS [INDID] ON [PANEL]([ID]  ASC);";
Run Code Online (Sandbox Code Playgroud)

我尝试在表名之前添加名称限定符,如下所示:

sQuery = "CREATE INDEX IF NOT EXISTS [INDID] ON [M.PANEL]([ID]  ASC);";
Run Code Online (Sandbox Code Playgroud)

但SQLite返回的消息是main.M.PANEL列不存在.

我能做什么?

new*_*ver 8

只需将方括号放在前缀[M].[panel]周围,或者只是跳过它们

UPD:你应该在索引名称之前设置前缀而不是表名:

sqlite> attach database ":memory:" as m;
sqlite> .databases
seq  name             file
---  ---------------  ----------------------------------------------
0    main
2    m
sqlite> create table m.users (id int, name TEXT);
sqlite> create unique index m.qwe on users (name);
sqlite> insert into m.users VALUES(2,'asd');
sqlite> insert into m.users VALUES(3,'asd');
Error: column name is not unique
Run Code Online (Sandbox Code Playgroud)