代码之家  ›  专栏  ›  技术社区  ›  Paul Nathan

在获取列名时使用pragma作为sqlite中的源

  •  12
  • Paul Nathan  · 技术社区  · 14 年前

    问题:

    我想做这个手术

    select name from pragma table_info(my_awesome_table)

    但是,它会产生语法错误。我有一种潜移默化的怀疑,这是可能的,但似乎没有记录在案,因为在 SELECT 带sqlite的文档。

    1 回复  |  直到 9 年前
        1
  •  8
  •   newtover    14 年前

    pragma是特定于sqlite的SQL扩展,它具有 special syntax :

    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
    

    不能指定列,也不能在子查询中使用pragma。