限制sqlite3中的浮点值

时间:2013-04-25 10:37:17

标签: sqlite integer

我正在使用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 个答案:

答案 0 :(得分:1)

SQLite uses dynamic typing

要强制列类型,请添加约束:

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