android - SQLite 创建双列 _id

标签 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

最佳答案

不可能有两个同名的列。

数据库没问题。该“开发者工具”窗口中的显示是错误的。

关于android - SQLite 创建双列 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44432662/

相关文章:

android - Flutter:如何在整个应用程序中设置观察者

sql - 限制多对多连接查询的结果

c# - 如何在没有准备好的语句的情况下转义 System.Data.SQLite 中的字符串

android - 使用 select (android sqlite) 从一个表插入到另一个表

Android:捕获应用程序退出

java - Twitter linkify android 所有@mentions

mysql - 如何在MySQL中合并具有相似名称的多个表

mysql - 在 mysql 的 Select If 条件中使用更新查询

android - 如何使用 Android NDK SQLite3 扩展 json1

android - HTC 仅在 OpenGL 中发生硬崩溃