1

我正在使用 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.有什么办法可以限制小数点后两位吗?

是否有任何解决方法,以便我只能限制整数值(严格没有浮点值)。

请建议。

4

1 回答 1

1

SQLite使用动态类型

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

CREATE TABLE demo(
  effort INTEGER NOT NULL CHECK(typeof(effort) = 'integer')
)
于 2013-04-25T14:11:04.337 回答