C++ Api sqlite3判断数据表中是否存在索引(方法1)

判断数据表中是否存在索引

#include <iostream>
#include <sqlite3.h>

int main() {
    sqlite3* db;
    int result = sqlite3_open("your_database.db", &db);

    if (result == SQLITE_OK) {
        const char* indexName = "your_index_name";
        const char* tableName = "your_table_name";

        std::string query = "SELECT name FROM sqlite_master WHERE type='index' AND name='" + std::string(indexName) + "' AND tbl_name='" + std::string(tableName) + "';";

		//判断某个数据表中是否存在索引
		//std::string query1 = "SELECT name FROM sqlite_master WHERE type='index' AND tbl_name='"+ std::string(tableName) + "';";

        sqlite3_stmt* statement;
        result = sqlite3_prepare_v2(db, query.c_str(), -1, &statement, nullptr);
        
        if (result == SQLITE_OK) {
            result = sqlite3_step(statement);

            if (result == SQLITE_ROW) {
                // Index exists
                std::cout << "Index " << indexName << " exists for table " << tableName << std::endl;
            } else {
                // Index does not exist
                std::cout << "Index " << indexName << " does not exist for table " << tableName << std::endl;
            }

            sqlite3_finalize(statement);
        } else {
            std::cerr << "Error preparing statement: " << sqlite3_errmsg(db) << std::endl;
        }

        sqlite3_close(db);
    } else {
        std::cerr << "Error opening database: " << sqlite3_errmsg(db) << std::endl;
    }

    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值