2010-09-16 34 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')