我正在我的 Android 应用程序数据库中创建一个非常简单的表。发生了一些奇怪的事情,但我找不到我的错误。
当我分析我的 android 应用程序的数据库时,在我的表中有 2 列 _id,如图所示
在这里您可以看到“处理”数据库的类。
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 检查表,则表是正确的,如您在此图像中所见
最佳答案
不可能有两个同名的列。
数据库没问题。该“开发者工具”窗口中的显示是错误的。
关于android - SQLite 创建双列 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44432662/