【问题标题】:sqlite how can I know what are the columns' names returned from a PRAGMA "query"?sqlite 如何知道从 PRAGMA“查询”返回的列名称是什么?
【发布时间】:2014-06-23 13:24:20
【问题描述】:

我想将数据从一个数据库复制到另一个数据库,但我只想对包含“unit_id”列的表执行此操作。

我想我可以使用 PRAGMA table_info(table_name) 来帮助我确定表“table_name”是否具有“unit_id”列。

我阅读了文档并意识到我可以检查“名称”列。但是没有文档,如何知道从 PRAGMA 用法返回的列名?

我可以在 PRAGMA 结果上使用类似 .schema “表名”的东西吗?

示例:

PRAGMA table_info(units);

返回这个:

0|id|INTEGER|1||1
1|unit_type_id|INTEGER|1||0
2|site_id|INTEGER|1||0
3|modbus_address|INTEGER|1||0
4|Name|TEXT|1||0
5|Description|TEXT|0||0
6|Needs_Download|INTEGER|1||0
7|needed_reset_apps|INTEGER|0||0

但我怎么知道哪一列是什么?!

谢谢, 吉姆。

【问题讨论】:

    标签: sqlite schema pragma


    【解决方案1】:

    和普通查询一样,PRAGMA table_info返回的数据有列名:

    sqlite> .header on
    sqlite> pragma table_info(units);
    cid|name|type|notnull|dflt_value|pk
    0|id|INTEGER|0||1
    1|unit_id|INTEGER|0||0
    2|etc.|FLUFFY BUNNIES|0||0
    

    列的含义记录在the documentation中。

    【讨论】:

    • Thnaks :) 我觉得自己很愚蠢。不知道“.header on”的事情。不幸的是 - 我也是新来的,没有足够的声望来投票......不过当我生病时会这样做:)
    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多