gpt4 book ai didi

c++ - sqlite CREATE INDEX exec 返回错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:48 25 4
gpt4 key购买 nike

我有一个现有的 sqlite 数据库。我试图通过使用索引来提高查询性能。此外,我正在使用 C++ 包装器来进行 sqlite。下面的 sqlite3_exec 调用的返回值是 SQLITE_ERROR。

wrapper代码如下执行exec:

Int CppSQLite3DB::execDML(const char* szSQL)
{
checkDB();

char* szError=0;

int nRet = sqlite3_exec(mpDB, szSQL, 0, 0, &szError);

if (nRet == SQLITE_OK)
{
return sqlite3_changes(mpDB);
}
else
{
throw CppSQLite3Exception(nRet, szError);
}
}

我创建索引的代码是:

sprintf_s( statement, sizeof(statement), "CREATE INDEX modeidx ON Models (manufID)");  
flDB->execDML(statement);

数据库是开放和有效的。这部分代码是在上一节读取此数据库中的另一个表之后执行的。在添加此语句之前,所有代码都按预期工作。

我相信我的语法对于创建索引是正确的,但我不明白为什么会收到错误。

最佳答案

确保不存在具有该名称的索引。尝试:如果模型 (manufID) 上不存在 modeidx,则创建索引

... 看看您是否仍然遇到错误。

关于c++ - sqlite CREATE INDEX exec 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com