鉴于我们有一个像
这样的简单表格CREATE TABLE A(
amount INTEGER
);
查询之间有什么区别
INSERT INTO A VALUES(4);
和
INSERT INTO A VALUES('12');
如架构中所示,amount是INTEGER列。第一个查询仅使用 - 整数,但第二个查询使用字符串' 12'进行操作。然而,两个查询都工作得很好,表得到值4和12,并且可以选择或者说,将它们正确地作为两个有效的整数求和:
SELECT sum(amount) AS "Total" FROM A;
正确地产生16。
将整数插入(4)并将其插入(' 12')到INTEGER类型列之间是否有区别?
答案 0 :(得分:2)
在将值作为described in the manual插入表格之前,SQLite会尝试将您的String转换为整数。
列的类型亲缘关系是存储在该列中的数据的推荐类型。这里的重要思想是建议使用类型,而不是必需的。任何列仍然可以存储任何类型的数据。只是根据选择,某些列将优先使用一个存储类而不是另一个存储类。