insert方法在Sql Lite android中两次返回1
在我的应用程序中,我正在数据库中添加行。但是rowid会提前两次到达。有什么问题吗insert方法在Sql Lite android中两次返回1,android,sqlite,primary-key,Android,Sqlite,Primary Key,在我的应用程序中,我正在数据库中添加行。但是rowid会提前两次到达。有什么问题吗 long rowId=getWritableDatabase().insert(TABLE_MEDIA_DETAILS, null, contentValues); 你好, 表的创建如下所示 db.execSQL("CREATE TABLE " + TABLE_MEDIA_DETAILS + " (" + COLUMN_PROJECT_ID + " LONG," + COLUMN_MEDIA_ID + " LO
long rowId=getWritableDatabase().insert(TABLE_MEDIA_DETAILS, null, contentValues);
你好,
表的创建如下所示
db.execSQL("CREATE TABLE " + TABLE_MEDIA_DETAILS + " (" + COLUMN_PROJECT_ID + " LONG," + COLUMN_MEDIA_ID + " LONG," + COLUMN_MEDIA_SEQUENCE
+ " INTEGER," + COLUMN_MEDIA_PATH + " TEXT," + COLUMN_MEDIA_TYPE + " TEXT,"+ COLUMN_TITLE_STYLE + " TEXT,"+ COLUMN_TITLE_TEXT + " TEXT,"
+ COLUMN_IMAGE_DURATION + " INTEGER," + COLUMN_TRIM_LEFT + " INTEGER," + COLUMN_TRIM_RIGHT + " INTEGER,"
+ "PRIMARY KEY( " + COLUMN_PROJECT_ID + ","
+ COLUMN_MEDIA_SEQUENCE + " ));");
正如您所见,我已经有了两个类似列的项目id和列媒体序列组合的主键,因此该表中不能有其他主键,因此无法创建其他主键。如果我能够正确理解您的问题- 确保在创建表时添加自动增量 比如说
db.execSQL("create table " + TABLE + " (" + C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ C_USERNAME + " text)");
并且不要在contentValues中发送ID列的值 罗维德提前两次来,这意味着什么?我们如何知道您是否已将PrimaryKey和/或AutoIncrement属性设置到该列,而没有看到表创建代码您好,表创建如下db.execSQLCREATE table+table\u MEDIA\u DETAILS++column\u PROJECT\u ID+LONG,+column\u MEDIA\u ID+LONG,+COLUMN_MEDIA_SEQUENCE+INTEGER、+COLUMN_MEDIA_PATH+TEXT、+COLUMN_MEDIA_TYPE+TEXT、+COLUMN_TITLE_STYLE+TEXT、+COLUMN_IMAGE_DURATION+INTEGER、+COLUMN_TRIM_LEFT+INTEGER、+COLUMN_TRIM_RIGHT+INTEGER、+PRIMARY键+COLUMN_PROJECT_ID+、+COLUMN_MEDIA_SEQUENCE+@kartiktrivedi然后修复它。。。请再读一遍我的答案。。或者阅读关于sqlite的教程。。我不知道如何更好地解释它,我不会为您更改代码,因为我不知道您的目标。。