2010-09-16 105 views

回答

6

只是不要把在列声明中的类型,所以它现在没有亲和力

create table my_table(my_col); 

的SQLite具有独特的动态类型系统。它有每个值的类型,但是如果你指定一个列类型,SQLite将决定一个类型关联(TEXT,NUMERIC,INTEGER,REAL,NONE)。然后它试图强迫每个价值观的亲和力。

实际支持的类型为NULL,INTEGER,REAL,TEXT,BLOB。有关更多信息,请参见Datatypes in SQLite Version 3

3

Variant是sqlite中的默认值,反之更难。定义一个只能容忍数字的列是很困难的,而当你想插入“这是文本”时会抛出异常。

可以断言,一个列只能存储整数与检查约束:

CHECK(typeof(x)='integer')