SQLite: должен ли я использовать первичный ключ Integer или Integer при хранении данных из API? - PullRequest
0 голосов
/ 18 октября 2018

Я унаследовал проект iOS, в котором идентификаторы записей хранятся в столбце с использованием типа данных Integer primary key.Это хорошо работает, однако, я не уверен, почему он не использует просто Integer.Приложение iOS получает записи из API и сохраняет их в локальной базе данных SQLite.Каждая из этих записей из API уже имеет уникальный идентификатор (например, id: 100101394).

Есть ли причина или преимущество в использовании первичного ключа Integer по сравнению с обычным целым числом в этой ситуации?

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

Редактировать 1: Все, я понимаю, я могуиспользовать первичный ключ для доступа к записям.Я хочу понять, есть ли причина, по которой мне следует использовать его поверх обычного целого числа, в котором я могу сохранить идентификатор записи. Каждый идентификатор записи, возвращаемый API, уникален.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Целочисленный первичный ключ набирается, вы можете ввести только целое число.Это также гарантирует, что целое число будет вставлено, когда введено значение null. Я полагаю, что оно также может выступать в качестве псевдонима как RowID, если он существует для таблицы.

Вот ссылка на документацию по нему.

https://sqlite.org/lang_createtable.html#rowid

0 голосов
/ 18 октября 2018

Я полагаю, что вы используете ключ, когда ожидаете найти запись по этому идентификатору.Я ожидаю, что это приведет к дополнительным накладным расходам при хранении элемента, но если вы хотите получить доступ к записи по идентификатору «целочисленного первичного ключа», вы можете потенциально сэкономить много времени и системных издержек.

...