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