2013-04-25 45 views
1

我正在使用sqlite3,並且遇到了一個奇怪的問題。例如,我有以下表格。限制sqlite3中的浮點值

CREATE TABLE demo (effort integer); 


insert into demo values (10.5); - works fine 
insert into demo values (10.5); - works fine 
insert into demo values (10.5555); - works fine 

我有兩個顧慮:

1.爲什麼是它允許浮動值時,我已在申報數據類型爲整數不是真實的? 2.有什麼辦法,我可以將它限制在2位小數?

是否有任何解決方法,以便我只能限制整數值(嚴格無浮動值)。

請建議。

回答

1

SQLite uses dynamic typing

爲了強制列類型中,添加一個約束:

CREATE TABLE demo(
    effort INTEGER NOT NULL CHECK(typeof(effort) = 'integer') 
)