与其他风格的 SQL 相比,SQLite3 使用动态类型而不是静态类型。SQLite 网站内容如下:
大多数 SQL 数据库引擎(据我们所知,除 SQLite 之外的每个 SQL 数据库引擎)都使用静态、严格的类型。使用静态类型,值的数据类型由其容器决定——存储该值的特定列。
SQLite 使用更通用的动态类型系统。在 SQLite 中,值的数据类型与值本身相关联,而不是与其容器相关联。
在我看来,这正是您不想要的,因为它允许您将字符串存储在整数列中。
页面继续:
... SQLite 中的动态类型允许它完成传统刚性类型数据库中不可能完成的事情。
我有两个问题:
- 用例问题:SQLite3 的动态类型有哪些好处?
- 历史/设计问题:使用动态类型实现 SQLite 的动机是什么?