метод вставки возвращает 1 два раза в Sql Lite android

-2

В моем приложении я добавляю строку в базу данных. Но 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, поэтому у меня не может быть другого первичного ключа в этой таблице, поэтому я не могу создать другой.

  • 4
    rowid is coming 1 two time earlier , что это значит? Как бы мы узнали, если вы установили атрибут PrimaryKey и / или AutoIncrement для этого столбца, не увидев код создания таблицы?
Теги:
primary-key

1 ответ

1
Лучший ответ

Если мне удастся правильно понять ваш вопрос - убедитесь, что вы добавляете AUTOINCREMENT при создании таблицы

например

db.execSQL("create table " + TABLE + " (" + C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                       + C_USERNAME + " text)");

и не отправляйте значение своего столбца идентификатора в своих contentValues ..

  • 0
    Привет, создание таблицы выполняется следующим образом + COLUMN_MEDIA_TYPE + "Текст" + COLUMN_TITLE_STYLE + "Текст" + COLUMN_TITLE_TEXT + "Текст" + COLUMN_IMAGE_DURATION + "Integer," + COLUMN_TRIM_LEFT + "Integer," + COLUMN_TRIM_RIGHT + "Integer," + "первичный ключ (" + COLUMN_PROJECT_ID + "," + COLUMN_MEDIA_SEQUENCE + "));");
  • 0
    @kartiktrivedi, затем исправьте это ... просто прочитайте мой ответ еще раз ... или прочитайте учебник о sqlite .. Я не знаю, как объяснить это лучше, и я не буду менять ваш код для вас, так как я не знаю вашу цель ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню