SQLite中是否有PRAGMA table_info('mytable')的等效SELECT语句?基本上,我想获得与PRAGMA返回完全相同的结果集:cid,name,type,notnull,dflt_value和pk。虽然我知道通过C函数sqlite3_table_column_metadata获取此信息的另一种方法,但我更喜欢使用SELECT语句。
答案 0 :(得分:2)
根据doc
返回结果且没有副作用的PRAGMA可以是 从普通的SELECT语句作为表值函数访问。 对于每个参与的PRAGMA,对应的表值函数 与PRAGMA的名称相同,前缀为7个字符。 PRAGMA参数和架构(如果有)作为参数传递给 表值函数。
例如,可以读取有关索引中列的信息 使用index_info用法如下:
PRAGMA index_info('idx52');或者,可以使用以下内容读取相同的内容:
SELECT * FROM pragma_index_info('idx52');
这不行吗?