我在我的SQLite数据库中创建了一个视图,它包含两个_id列和此语句创建的其他一些信息:
CREATE VIEW IF NOT EXISTS journeyProfileContactsView AS SELECT JourneyProfile._id, JourneyProfile.TITLE, ContactsProfiles._id, ContactsProfiles.NAME, ContactsProfiles.NUMBER FROM ProfileToContacts INNER JOIN JourneyProfile ON ContactsProfiles._id=ProfileToContacts.contactID INNER JOIN ContactsProfiles ON JourneyProfile._id=ProfileToContacts.profileID
并且一直在努力解决这个错误:
11-27 19:30:04.686: E/AndroidRuntime(12946): Caused by: android.database.sqlite.SQLiteException: no such column: _id: , while compiling: SELECT * FROM journeyProfileContactsView WHERE _id=1
我确信该列确实存在,我已经在SQLite Manager中打开了视图并且可以确认该列存在为_id(另一列是_id:1),尽管检查光标表明它实际上可能是JourneyProfile._id。
我试过了:
"JourneyProfile._id=" + id
"_id=" + id
它真的难倒我,我不知道我哪里出错了。有什么帮助吗?
答案 0 :(得分:0)
问题在于使用旧视图。我强迫我的视图被重新创建,因为表结构已经改变,这已经解决了。