Используются ли числовые первичные ключи удаленных записей в базе данных для будущих новых записей? - PullRequest
5 голосов
/ 31 октября 2008

Например, если у меня есть поле с автоматической нумерацией, я добавляю новые записи без указания этого поля и позволяю механизму БД выбрать его для меня.
Итак, он выберет номер удаленной записи? Если да, то когда?

// SQL Server, MySQL. //

Дополнительный вопрос: Что происходит, когда в двигателе БД не хватает чисел, используемых для первичных ключей?

Ответы [ 11 ]

0 голосов
/ 31 октября 2008

Да, это действительно зависит от того, как вы генерируете идентификатор.

Например, если вы используете GUID в качестве первичного ключа, большинство реализаций получения случайного нового Guid, скорее всего, не выберут другой guid снова, но это даст достаточно времени, и если Guid нет в таблице, вставка оператор пойдет хорошо, но если там уже есть guid, вы получите нарушение ограничения первичного ключа.

...