我正在使用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位小数位吗?
是否有任何解决方法,以便我只能限制整数值(严格来说没有浮动值)。
请建议。
答案 0 :(得分:1)
SQLite uses dynamic typing。
要强制列类型,请添加约束:
CREATE TABLE demo(
effort INTEGER NOT NULL CHECK(typeof(effort) = 'integer')
)