我有一个包含SQLite数据库的Android应用程序。表中的一个字段是Integer类型,但由于某种原因,我一直可以将字符串保存至此。直到最近我还没有意识到我这么做。整数列包含字符串数据
该列名为favourited
,类型为integer
,我可以保存看起来像日期的字符串。是的,我的一个非常奇怪的实现,但请告诉我,如果你知道为什么它没有抛出异常或什么。
我有一个包含SQLite数据库的Android应用程序。表中的一个字段是Integer类型,但由于某种原因,我一直可以将字符串保存至此。直到最近我还没有意识到我这么做。整数列包含字符串数据
该列名为favourited
,类型为integer
,我可以保存看起来像日期的字符串。是的,我的一个非常奇怪的实现,但请告诉我,如果你知道为什么它没有抛出异常或什么。
SQLite的使用更一般的动态型系统。在SQLite中,值的数据类型与值本身相关联,而不与其容器相关联。 SQLite的动态类型系统向后兼容其他数据库引擎的更常见的静态类型系统,因为在静态类型数据库上工作的SQL语句应该在SQLite中以相同的方式工作。但是,SQLite中的动态类型允许它执行传统的严格类型数据库中不可能的事情。
和
为了最大化SQLite和其他数据库引擎之间的兼容性,SQLite支持的列“类型亲和力”的概念。列的类型亲缘关系是存储在该列中的数据的推荐类型。这里的重要想法是,这种类型是推荐的,不是必需的。任何列都可以存储任何类型的数据。只是有些列在给出选择的情况下会倾向于使用一个存储类而不是另一个。列的首选存储类称为其“亲和性”。
嗯。非常有趣.....非常感谢你的亨利。 +1 – Subby