当前位置:  开发笔记 > 前端 > 正文

使用PRAGMA作为SQLite中的源来获取列名

如何解决《使用PRAGMA作为SQLite中的源来获取列名》经验,为你挑选了1个好方法。

问题:

我想做这个操作

select name from pragma table_info(my_awesome_table)

但是,它会产生语法错误.我有偷偷摸摸的怀疑这是可能的,但似乎没有记录在使用sqlite 的SELECT文档中可用.



1> newtover..:

Pragma是SQLite特有的SQL扩展,它有一个特殊的语法:

sqlite> create table my_table (a int, b TEXT);
sqlite> .headers ON
sqlite> .mode columns
sqlite> pragma table_info(my_table);
cid         name        type        notnull     dflt_value  pk
----------  ----------  ----------  ----------  ----------  ----------
0           a           int         0                       0
1           b           TEXT        0                       0
sqlite> select name from pragma_table_info('my_table');
name
----------
a
b

您不能指定列,也不能在子查询中使用编译指示.


@Paul Nathan:`pragma-stmt`(http://sqlite.org/syntaxdiagrams.html#pragma-stmt)仅由`sql-stmt`使用,而不是`select-stmt`(http:// sqlite) .org/syntaxdiagrams.html#select-stmt),其定义是递归的.
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有