SQL Server автоматически увеличивает колонку без первичного ключа
Возможно ли автоматическое увеличение столбца в SQL Server без его первичного ключа?
Если да, как это можно сделать.
Спасибо
Ответ 1
Да. Нет требования, чтобы столбцы IDENTITY составляли первичный ключ.
CREATE TABLE T
(
X INT PRIMARY KEY,
Y INT IDENTITY(1,1)
)
Хотя я не уверен, когда это было бы полезно. Если у вас есть естественный ключ, который вы хотите использовать в качестве ПК, тогда вы, вероятно, захотите поместить уникальное ограничение на альтернативный ключ суррогата в любом случае.
Для настройки отношений FK SQL Server все равно, является ли столбец (-ы) PK или нет, он просто требует уникального индекса на нем/.
Ответ 2
Объявите столбец с ключевым словом IDENTITY и просто не создавайте ограничение PRIMARY KEY.