В моем приложении я добавляю строку в базу данных. Но rowid идет 1 два раза раньше. Что может быть проблемой?
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 + " ));");
как вы видите, у меня уже есть первичный ключ для комбинации двух colum, таких как project_id и column_media_sequence, поэтому у меня не может быть другого первичного ключа в этой таблице, поэтому я не могу создать другой.
Если мне удастся правильно понять ваш вопрос - убедитесь, что вы добавляете AUTOINCREMENT
при создании таблицы
например
db.execSQL("create table " + TABLE + " (" + C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ C_USERNAME + " text)");
и не отправляйте значение своего столбца идентификатора в своих contentValues ..
rowid is coming 1 two time earlier
, что это значит? Как бы мы узнали, если вы установили атрибут PrimaryKey и / или AutoIncrement для этого столбца, не увидев код создания таблицы?