在sqlite中创建一个索引列

use*_*239 23 sqlite android

我可以在sqlite的create table命令中的列上创建索引吗?

我在Android shell的sqlite3中尝试了以下命令.它似乎工作.

sqlite> create table mytest (id integer indexed);
sqlite> .schema
CREATE TABLE mytest (id integer indexed);
Run Code Online (Sandbox Code Playgroud)

但是,在sqlite的查询语言规范中,不支持指定要编制索引的列:

http://www.sqlite.org/lang_createtable.html

我错过了什么?

谢谢.

syn*_*nic 55

需要单独的查询:

CREATE INDEX mytest_id_idx ON mytest(id);
Run Code Online (Sandbox Code Playgroud)

虽然听起来你想让id列成为自动增量主键?

CREATE TABLE mytest(id INTEGER PRIMARY KEY);
Run Code Online (Sandbox Code Playgroud)

  • 很高兴看到有人用示例SQL代码而不是气泡图来回答.图表很好,但示例代码更容易理解.不需要在主键上创建显式索引,因为始终会自动为您创建. (10认同)
  • 我只是想测试是否可以在create table命令中指定要编入索引的列.感谢您的回答. (2认同)