我正在使用SQLite数据库的iOS应用程序上工作。
在我的产品的下一个版本中,我想将表列从TEXT
迁移到BLOB
。
我计划先执行DROP TABLE
,然后再执行CREATE TABLE
(我们有能力丢失数据,在这里这不是问题)
我的问题是:如何仅从Objective-C检查表的列类型是TEXT
还是BLOB
?
最佳答案
SQLite是“无类型的”。这意味着您可以在任何表的任何列中存储所需的任何类型的数据,而不管该列的声明数据类型如何。您可以找到更多信息here.
但是,如果要获取有关列的声明数据类型的信息,则可以使用编译指示table_info(table_name)来实现。
例如。
pragma table_info(Setting);
然后,您可以遍历返回的结果集并检查要检查的数据类型。
关于objective-c - 检查sqlite列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079407/