2010-05-04 15 views
19

¿Puedo crear un índice en una columna en el comando create table en sqlite?crear una columna indexada en sqlite

He intentado este comando a continuación en sqlite3 en Android shell. Parece funcionar.

sqlite> create table mytest (id integer indexed); 
sqlite> .schema 
CREATE TABLE mytest (id integer indexed); 

Pero, en la especificación de lenguaje de consulta de SQLite, que especifica una columna para ser indexados no se admite:

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

¿Me he perdido algo?

Gracias. Se necesita

Respuesta

49

una consulta independiente:

CREATE INDEX mytest_id_idx ON mytest(id); 

Aunque suena como usted quiere hacer la columna de la id la clave principal incremento automático?

CREATE TABLE mytest(id INTEGER PRIMARY KEY); 
+2

Solo quería probar si puedo especificar una columna para indexar en el comando create table. Gracias por su respuesta. – user256239

+8

Es bueno ver a alguien responder con código SQL de ejemplo en lugar de diagramas de burbujas. Los diagramas son buenos, pero el código de ejemplo es mucho más fácil de entender. Sin embargo, no es necesario crear un índice explícito en una clave principal, ya que siempre se creará automáticamente para usted. – CashCow

Cuestiones relacionadas