0
在这个神秘的问题出现之前,我的数据库一直适用于我的应用程序。我想为两列(list_id和item_id)在一个表(listitems)中添加一个唯一索引。该表跟踪哪些项目与每个列表相关联,并且我不希望列表中出现重复项目。Android中的未知数据库异常创建唯一索引失败
所以我写了这个数据库升级方法是从onUpgrade称为(...)
private void upgradeTo3(SQLiteDatabase db) {
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS '"+
Contract.DATABASE_NAME +"'.list_item_unique_index ON "+
Contract.ListItem.TABLENAME +
" ("+ Contract.ListItem.LIST +", " + Contract.ListItem.ITEM + ")");
}
,它给我一个错误"unknown database 'my_database.db'"
我得到我的数据库帮助这个构造函数使用与上面的SQL相同的字符串,但在这里不会引发错误。我可以访问数据库。
public DatabaseHelper(Context context) {
super(context, Contract.DATABASE_NAME, null, Contract.DATABASE_VERSION);
}
另外,如果我在Eclipse打开DDMS我可以看到,有一个应用程序文件中名为“my_database.db”文件。
有人有一个想法,为什么数据库似乎不存在于该SQL执行?