2013-07-10 2 views
0

В настоящее время у меня есть база данных, где я использую случайные longs как мои идентификаторы, поэтому мне не нужен INTEGER PRIMARY KEY. Могу ли я использовать свои собственные идентификаторы в столбце 0 или столбец 0 автоматически воспринимается неявным ROWID независимо?Является ли столбец 0 в базе данных SQLite занятым ROWID?

+0

Мне кажется, что что-то из этого важного значения должно быть в документах разработчика. Вы читали его? – tolgap

ответ

1

Все таблицы имеют rowid. Это не обычный столбец, но используется как ключ структуры дерева B-таблицы.

Если вы объявляете столбец как INTEGER PRIMARY KEY, этот столбец используется как rowid и фактически не хранится в разделе данных таблицы.

Если ваш первичный ключ является целым числом, вы должны объявить его как INTEGER PRIMARY KEY, чтобы сделать хранение и поиск более эффективными.

+0

Ответ на мой вопрос отлично, спасибо! – cheese1756

1

Вы можете использовать свои собственные идентификаторы. ROW ID может использоваться отдельно (SQLITE)

+0

Полезно знать. Спасибо. – cheese1756

Смежные вопросы