Да, вам необходимо самостоятельно присваивать номера счетов-фактур, если вы хотите, чтобы они были непрерывными (т.е. последовательными).
Автоматические методы генерации значений псевдоключей склонны к наличию пробелов, потому что в обычных условиях вы можете иметь ROLLBACK
или DELETE
и оставить пробел.
Попытка компенсации путем повторного использования удаленных значений или перенумерации существующих записей для заполнения пробелов - ужасная идея. Он зависит от условий гонки и в любом случае имеет плохую производительность.
Генераторы для псевдокей гарантируют быть уникальными, но не последовательными.
Вы можете использовать псевдоключ в качестве первичного ключа, а также иметь номер счета в качестве атрибута, который, как оказалось, имеет ограничение UNIQUE
. Это кажется излишним, но иногда это самое простое решение.