Как убедиться, что SQLite никогда не создает строку с одним и тем же идентификатором дважды?

У меня есть таблица SQLite, которая выглядит так:

CREATE TABLE Cards (id INTEGER PRIMARY KEY, name TEXT)

Поэтому каждый раз, когда я создаю новую строку, SQLite автоматически присваивает ей уникальный идентификатор.

Однако, если я удалю строку, а затем создам новую строку, новая строка будет иметь идентификатор ранее удаленной строки.

Как я могу убедиться, что этого не произойдет? Можно ли как-то заставить SQLite всегда давать действительно уникальные идентификаторы, которые даже отличаются от ранее удаленных строк?

Я могу сделать это в коде, но я бы предпочел, чтобы SQLite сделал это, если это возможно. Есть идеи?


person laurent    schedule 11.08.2011    source источник


Ответы (1)


Посмотрите на автоинкремент (АВТОИНКРЕМЕНТ ПЕРВИЧНОГО КЛЮЧА INTEGER). Это гарантирует это, и если запрос не может быть выполнен, он завершится с ошибкой SQLITE_FULL.

person ribram    schedule 11.08.2011