【问题标题】:How to check if column exists in sqlite in Qt如何检查Qt中的sqlite中是否存在列
【发布时间】:2015-05-11 07:12:36
【问题描述】:

我有一个使用 sqlite 数据库的应用程序。我更新了应用程序,需要在应用程序启动时更新我的​​数据库。

为此,我需要检查表中是否存在某些列。我不知道该怎么做......

我看到了 PRAGMA table_info(table-name);将返回列名,但该结果在一个表中,我不确定如何在 Qt 中读取它。

【问题讨论】:

    标签: c++ qt sqlite


    【解决方案1】:

    PRAGMA table_info 像普通查询一样返回其数据,即好像有一个查询SELECT cid, name, type, notnull, dflt_value, pk FROM ...

    query.exec("PRAGMA table_info(MyLittleTable)");
    while (query.next()) {
        print("column name: ", query.value(1));
    }
    

    【讨论】:

    • 执行这个命令会改变数据库吗?为什么我要问的是,当我在第三方 sqlite 浏览器中运行这个 'PRAGMA table_info(MyLittleTable)' 时,它要求将更改写入数据库/恢复更改...
    • 该语句不修改数据库。这看起来像是该第三方浏览器中的错误。
    猜你喜欢
    • 2013-09-26
    • 2020-08-08
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    相关资源
    最近更新 更多