Sqlite 表raw\u contacts没有名为raw\u contact\u id的列

Sqlite 表raw\u contacts没有名为raw\u contact\u id的列,sqlite,android-sqlite,sql-insert,contacts,Sqlite,Android Sqlite,Sql Insert,Contacts,我正在android应用程序中插入一个新联系人,如下所示: 我正在添加我的Java类。我得到的错误是插入数据时出错 我不明白我错过了什么,这就是为什么我要面对这个错误 这是我的Java类 私有静态void setContact(上下文mContext、帐户){ ContentResolver ContentResolver=mContext.getContentResolver() 我得到这个错误: E/SQLiteLog: (1) table raw_contacts has no colu

我正在android应用程序中插入一个新联系人,如下所示: 我正在添加我的Java类。我得到的错误是插入数据时出错

我不明白我错过了什么,这就是为什么我要面对这个错误

这是我的Java类

私有静态void setContact(上下文mContext、帐户){ ContentResolver ContentResolver=mContext.getContentResolver()

我得到这个错误:

 E/SQLiteLog: (1) table raw_contacts has no column named raw_contact_id
06-20 10:23:54.819 1610-11666/? E/SQLiteDatabase: Error inserting 
raw_contact_id=79253 pinned=0 contact_id=null data1=Alex account_id=1 mimetype=vnd.android.cursor.item/name
    android.database.sqlite.SQLiteException: table raw_contacts has no column named raw_contact_id (code 1): , while compiling: INSERT INTO raw_contacts(raw_contact_id,pinned,contact_id,data1,account_id,mimetype) VALUES (?,?,?,?,?,?)
    #################################################################
    Error Code : 1 (SQLITE_ERROR)
    Caused By : SQL(query) error or missing database.
        (table raw_contacts has no column named raw_contact_id (code 1): , while compiling: INSERT INTO raw_contacts(raw_contact_id,pinned,contact_id,data1,account_id,mimetype) VALUES (?,?,?,?,?,?))
    #################################################################
        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
        at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
        at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1607)
        at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1479)
        at com.android.providers.contacts.ContactsProvider2.insertRawContact(ContactsProvider2.java:4975)
        at com.android.providers.contacts.ContactsProvider2.insertInTransaction(ContactsProvider2.java:4174)
        at com.android.providers.contacts.AbstractContactsProvider.insert(AbstractContactsProvider.java:139)
        at com.android.providers.contacts.ContactsProvider2.insert(ContactsProvider2.java:3441)
        at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:307)
        at com.android.providers.contacts.AbstractContactsProvider.applyBatch(AbstractContactsProvider.java:240)
        at com.android.providers.contacts.ContactsProvider2.applyBatch(ContactsProvider2.java:3721)
        at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:328)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
        at android.os.Binder.execTransact(Binder.java:453)
06-20 10:23:54.829 1610-11666/? E/DatabaseUtils: Writing exception to parcel
    android.content.OperationApplicationException: insert failed
        at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:309)
        at com.android.providers.contacts.AbstractContactsProvider.applyBatch(AbstractContactsProvider.java:240)
        at com.android.providers.contacts.ContactsProvider2.applyBatch(ContactsProvider2.java:3721)
        at 

android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:328)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
        at android.os.Binder.execTransact(Binder.java:453)
E/SQLiteLog:(1)表raw\u contacts没有名为raw\u contact\u id的列
06-20 10:23:54.819 1610-11666/?E/SQLITE数据库:插入错误
原始联系人id=79253 pinted=0联系人id=null数据1=Alex帐户id=1 mimetype=vnd.android.cursor.item/name
android.database.sqlite.SQLiteException:表raw_contacts没有名为raw_contact_id(代码1)的列,编译时:插入到raw_contacts(raw_contact_id,pinted,contact_id,data1,account_id,mimetype)值(?,,,,,,?)
#################################################################
错误代码:1(SQLITE_错误)
原因:SQL(查询)错误或缺少数据库。
(表raw_contacts没有名为raw_contact_id(代码1)的列,编译时:插入到raw_contacts(raw_contact_id,pinted,contact_id,data1,account_id,mimetype)值(?,,,,,,?,?)
#################################################################
位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
位于android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
位于android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
位于android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
位于android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
位于android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1607)
位于android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1479)
在com.android.providers.contacts.ContactsProvider2.insertRawContact上(ContactsProvider2.java:4975)
在com.android.providers.contacts.ContactsProvider2.insertInTransaction(ContactsProvider2.java:4174)上
位于com.android.providers.contacts.AbstractContactsProvider.insert(AbstractContactsProvider.java:139)
在com.android.providers.contacts.ContactsProvider2.insert上(ContactsProvider2.java:3441)
在android.content.ContentProviderOperation.apply上(ContentProviderOperation.java:307)
在com.android.providers.contacts.AbstractContactsProvider.applyBatch上(AbstractContactsProvider.java:240)
在com.android.providers.contacts.ContactsProvider2.applyBatch上(ContactsProvider2.java:3721)
位于android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:328)
位于android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
位于android.os.Binder.execTransact(Binder.java:453)
06-20 10:23:54.829 1610-11666/?E/DatabaseUtils:向包裹写入异常
android.content.OperationApplicationException:插入失败
在android.content.ContentProviderOperation.apply(ContentProviderOperation.java:309)中
在com.android.providers.contacts.AbstractContactsProvider.applyBatch上(AbstractContactsProvider.java:240)
在com.android.providers.contacts.ContactsProvider2.applyBatch上(ContactsProvider2.java:3721)
在
ContentProvider$Transport.applyBatch(ContentProvider.java:328)
位于android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
位于android.os.Binder.execTransact(Binder.java:453)

当内容与其他条目匹配时,会自动创建原始联系人数据

一旦插入原始联系人或其组成数据发生更改,提供商将检查原始联系人是否与其他现有原始联系人匹配,如果匹配,则将其与这些原始联系人进行聚合。聚合通过更改ContactsContract.RawContactsColumns.contact\u ID字段反映在RawContacts表中,该字段是引用与聚合触点的连接


当内容与其他条目匹配时,会自动创建原始联系人数据

一旦插入原始联系人或其组成数据发生更改,提供商将检查原始联系人是否与其他现有原始联系人匹配,如果匹配,则将其与这些原始联系人进行聚合。聚合通过更改ContactsContract.RawContactsColumns.contact\u ID字段反映在RawContacts表中,该字段是引用与聚合触点的连接


我终于找到了解决方案。问题是我使用了
联系人contract.RawContacts.CONTENT\u URI
而不是
联系人contract.Data.CONTENT\u URI
中的
手机
显示名称
字段中的
valueBackReference

我终于找到了解决方案。问题是我使用了
合作ntactsContract.raw contacts.CONTENT\u URI
而不是
contacts.Data.CONTENT\u URI
valueBackReference
Display\u Name
字段中的
 E/SQLiteLog: (1) table raw_contacts has no column named raw_contact_id
06-20 10:23:54.819 1610-11666/? E/SQLiteDatabase: Error inserting 
raw_contact_id=79253 pinned=0 contact_id=null data1=Alex account_id=1 mimetype=vnd.android.cursor.item/name
    android.database.sqlite.SQLiteException: table raw_contacts has no column named raw_contact_id (code 1): , while compiling: INSERT INTO raw_contacts(raw_contact_id,pinned,contact_id,data1,account_id,mimetype) VALUES (?,?,?,?,?,?)
    #################################################################
    Error Code : 1 (SQLITE_ERROR)
    Caused By : SQL(query) error or missing database.
        (table raw_contacts has no column named raw_contact_id (code 1): , while compiling: INSERT INTO raw_contacts(raw_contact_id,pinned,contact_id,data1,account_id,mimetype) VALUES (?,?,?,?,?,?))
    #################################################################
        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
        at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
        at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1607)
        at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1479)
        at com.android.providers.contacts.ContactsProvider2.insertRawContact(ContactsProvider2.java:4975)
        at com.android.providers.contacts.ContactsProvider2.insertInTransaction(ContactsProvider2.java:4174)
        at com.android.providers.contacts.AbstractContactsProvider.insert(AbstractContactsProvider.java:139)
        at com.android.providers.contacts.ContactsProvider2.insert(ContactsProvider2.java:3441)
        at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:307)
        at com.android.providers.contacts.AbstractContactsProvider.applyBatch(AbstractContactsProvider.java:240)
        at com.android.providers.contacts.ContactsProvider2.applyBatch(ContactsProvider2.java:3721)
        at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:328)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
        at android.os.Binder.execTransact(Binder.java:453)
06-20 10:23:54.829 1610-11666/? E/DatabaseUtils: Writing exception to parcel
    android.content.OperationApplicationException: insert failed
        at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:309)
        at com.android.providers.contacts.AbstractContactsProvider.applyBatch(AbstractContactsProvider.java:240)
        at com.android.providers.contacts.ContactsProvider2.applyBatch(ContactsProvider2.java:3721)
        at 

android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:328)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
        at android.os.Binder.execTransact(Binder.java:453)