0

我找不到 Android 到 Sqlite 的 Ormlite DataType 映射。我找到了 OrmLite SQL 数据类型,但 Sqlite 列是空白的。有谁知道我能找到他们吗?

我需要他们更新我的数据库架构,即:

  meetingDao.executeRaw("ALTER TABLE meeting ADD closed ????");
4

2 回答 2

1

我不确定你在问什么,但 Sqlite 是一个无类型数据库。基本上所有内容都存储为字符串,其中某些函数允许在运行时对这些字符串进行数值、时间等计算。

引用Sqlite 数据类型文档

SQLite 是“无类型”的。这意味着您可以在任何表的任何列中存储任何类型的数据,而不管该列的声明数据类型如何。(请参阅下面第 2.0 节中此规则的一个例外。)此行为是一项功能,而不是错误。假设数据库存储和检索数据,并且该数据的格式对数据库无关紧要。在大多数其他 SQL 引擎中发现并在 SQL 语言规范中编码的强类型系统是一个错误功能 - 它是一个示例实现显示在界面中。SQLite 试图通过允许您将任何类型的数据存储到任何类型的列中并允许数据类型规范的灵活性来克服这个错误功能。

在您提到的 SQL 数据类型页面中,Sqlite 列是空白的,因为它使用基本数据列而无需覆盖它们。即使我更改了类的基本类型,Sqlite 也不会覆盖任何类型,因为它还是一个无类型数据库。

于 2013-02-08T16:36:11.870 回答
1

实际上,原始问题链接的映射表:OrmLite SQL Data Types显示了 ORMLite 正在使用的正确类型,尽管它只显示了Base Database列中每个数据库的差异。例如,Javalong被创建为具有该BIGINT类型的列。

虽然 SQLite3 没有类型,但它具有ORMLite 在创建表时使用的类型亲和性的概念。

您可能还应该在数据库升级中包含这些类型,否则当 ORMLite 自动创建表形式从头开始和升级时,您将获得不同的表定义。

于 2013-11-19T14:37:17.860 回答