SQLite创建双列_id

时间:2017-06-08 10:03:37

标签: android sql sqlite

我在Android应用数据库中创建了一个非常简单的表。发生了一些奇怪的事情,但我无法找到我的错误。

当我分析我的Android应用程序的数据库时,在我的表中有2列_id,如图所示 enter image description here

在这里你可以看到"处理"数据库。

public class ContactsDAO extends SQLiteOpenHelper {

    public ContactsDAO(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, DB_NAME, factory, DB_VERSION);

    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        try {
            String createQuery = "CREATE TABLE my_contact(_id integer primary key autoincrement, contact_uri text)";
            sqLiteDatabase.execSQL(createQuery);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1){}

  public void add(MyContact myContact){
        ContentValues contentValues = new ContentValues();
        contentValues.put(contact_uri, "uriiiiiiiii");
        SQLiteDatabase database = this.getWritableDatabase();
        database.insert(my_contact, null, contentValues);
        database.close();
    }
}

Thank in advance.

解决方案

正如用户 CL。所说,这是该工具的错误。如果我使用adb检查表格,表格是正确的,正如您在此图片中看到的那样

enter image description here

1 个答案:

答案 0 :(得分:5)

不可能有两个具有相同名称的列。

数据库很好。 “开发者工具”窗口中的显示是错误的。