У меня есть база данных HSQLDB с сгенерированным идентификатором, и я хочу, чтобы значения автоинкремента всегда были выше 100 000. Возможно ли это с HSQLDB? Это возможно с любой базой данных?
Согласно документации HSQL :
Начиная с 1.7.2, стандартный синтаксис SQL используется по умолчанию, что позволяет начальное значение уточняется. поддерживается форма (INTEGER СОЗДАНО ПО УМОЛЧАНИЮ КАК ИДЕНТИЧНОСТЬ (НАЧАТЬ С П, [УВЕЛИЧЕНИЕ ПО М]] ПЕРВИЧНЫЙ КЛЮЧ, ...). Поддержка также была добавлена для BIGINT идентификационные столбцы. В следствии, столбец IDENTITY просто INTEGER или BIGINT столбец с его значение по умолчанию, сгенерированное последовательностью генератор.
...
Может использоваться следующее значение IDENTITY быть установлен с ALTER TABLE <table name> ALTER COLUMN <column name> RESTART WITH <new value>;
Может использоваться следующее значение IDENTITY быть установлен с
ALTER TABLE <table name> ALTER COLUMN <column name> RESTART WITH <new value>;
Вот как это сделать в HSQLDB :
Следующее используемое значение IDENTITY можно изменить с помощью следующего оператора. Обратите внимание, что этот оператор не используется в обычном режиме и предназначен только для специальных целей, например, для сброса генератора идентификаторов: ALTER TABLE ALTER COLUMN <column name> RESTART WITH <new value>;
Следующее используемое значение IDENTITY можно изменить с помощью следующего оператора. Обратите внимание, что этот оператор не используется в обычном режиме и предназначен только для специальных целей, например, для сброса генератора идентификаторов:
ALTER TABLE ALTER COLUMN <column name> RESTART WITH <new value>;
Насколько я знаю, все базы данных SQL позволяют вам установить начальное значение для полей автоинкремента.
Обновление: Вот список реализаций идентичности / автоинкремента в основных базах данных SQL .
Это возможно с SQL Server. При определении столбца автоматического номера вы можете определить начальный номер и приращение:
IDENTITY(100000, 1)
Не уверен насчет HSQL, но в MS SQL да, это возможно. Установите идентификатор на автоинкремент и установите начальное значение на 100 000.
Вы можете сделать это с базами данных, которые используют последовательности, такие как Oracle и PostgreSQL. Вы задаете начальное значение при создании последовательности.
Это предполагает, что вы можете сделать это и с HSQL.
Я знаю, что это возможно с SQL Server, и я предполагаю, что это возможно с другими.
В SQL Server вы можете установить начальный столбец идентификатора (начальный номер) и значение приращения.