Как установить значение автоинкремента для первичного ключа в ActiveAndroid

Я новичок в активном Android, и я сделал операцию CRUD, но я не могу установить автоинкремент для первичного ключа. Я уже пробовал приведенный ниже код, но он мне не нужен:

@Table(name = "Employee", id = "EmpId")

public class Employee extends Model {
    @Column(name = "empid")
    public long empid;
    @Column(name="name")
    public String name;
}

Вот employee это мое имя таблицы У меня есть первичные 2 поля, одно empid а также name, Мне нужно установить значение автоинкремента на первичный ключ. Как я могу это сделать?

1 ответ

Чтобы выполнить обновление с уникальным столбцом в качестве псевдо первичного ключа, аннотация должна выглядеть примерно так:

  @Column(name = "empid", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
        public long empid;

Как мы можем прочитать в документации:

Важно отметить, что ActiveAndroid создает поле id для ваших таблиц. Это поле является автоинкрементным первичным ключом.

Более того, если вы хотите создать собственный первичный ключ в своей модели, вы можете проверить решение, упомянутое в проблеме GitHub, связанной с ActiveAndroid, которое выглядит следующим образом:

 @Table(name = "Employee", id = "EmpId")

public class Employee extends Model {
    @Column(name = "id")
    public long id;
    @Column(name="name")
    public String name;
}

Тогда поле id является настраиваемым первичным ключом, который будет автоматически увеличен.

Другие вопросы по тегам