【发布时间】:2017-07-31 22:53:20
【问题描述】:
我的伙伴为我的 Android 应用创建了数据库。例如,其中一个表是这样创建的:
CREATE TABLE table1(
id_fields_starring INTEGER PRIMARY KEY AUTOINCREMENT
, fields_descriptor_id INTEGER NOT NULL
, starring_id INTEGER NOT NULL
, form_mandatory INTEGER NOT NULL DEFAULT 1
, form_visible INTEGER NOT NULL DEFAULT 1
, FOREIGN KEY(fields_descriptor_id) REFERENCES pr_fields_descriptor(id_fields_descriptor) ON DELETE CASCADE ON UPDATE CASCADE
, FOREIGN KEY(starring_id) REFERENCES starring(id_starring) ON DELETE CASCADE ON UPDATE CASCADE
)
从表的字段中,我需要知道其中哪些是INTEGER NOT NULL,哪些是INTEGER NOT NULL DEFAULT 1,因为对于第一种情况,我必须动态创建一个EditText,而对于第二种情况,我必须创建一个@ 987654325@。有什么想法吗?
【问题讨论】:
-
我认为目前是不可能的。我在我的应用程序中进行了硬编码。
-
@SheIs_LeThiCongNhan 看看 Jens 的回答。它有效。
-
谢谢。但这不是官方方式,没有保证,我不会使用它。
-
呃 ..
PRAGMA table_info(..)是在 SQLite 中查询表信息的首选方式 - 除非您感觉像 SQL-Rambo 并且想要筛选SELECT * sqlite_master的原始输出。