Jak upewnić się, że SQLite nigdy nie utworzy dwa razy wiersza o tym samym identyfikatorze?

Mam tabelę SQLite, która wygląda tak:

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

Zatem za każdym razem, gdy tworzę nowy wiersz, SQLite automatycznie przypisze mu unikalny identyfikator.

Jeśli jednak usunę wiersz, a następnie utworzę nowy, nowy wiersz będzie miał identyfikator poprzednio usuniętego wiersza.

Jak mogę się upewnić, że tak się nie stanie? Czy można w jakiś sposób zmusić SQLite, aby zawsze podawał naprawdę unikalne identyfikatory, które różnią się nawet od wcześniej usuniętych wierszy?

Mogę to zrobić w kodzie, ale wolę pozwolić SQLite to zrobić, jeśli jest to możliwe. Dowolny pomysł?


person laurent    schedule 11.08.2011    source źródło


Odpowiedzi (1)


Spójrz na autoinkrementację (AUTOINKREMENT KLUCZA PODSTAWOWEGO INTEGER). Zagwarantuje to, a jeśli żądanie nie będzie mogło zostać spełnione, zakończy się niepowodzeniem z SQLITE_FULL.

person ribram    schedule 11.08.2011