У меня есть база данных sqlite.Я пытаюсь улучшить производительность запроса с помощью индекса.Также я использую оболочку C ++ для sqlite.Возвращаемое значение - SQLITE_ERROR из вызова sqlite3_exec ниже.
код оболочки для выполнения 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);
База данных открыта и действительнаЭтот раздел кода выполняется после предыдущего раздела, который считывает из другой таблицы в этой базе данных.До добавления этого оператора весь код работает должным образом.
Я считаю, что мой синтаксис является правильным для создания индекса, я не понимаю, почему я получаю сообщение об ошибке.