Подтвердить что ты не робот

SQL Server автоматически увеличивает колонку без первичного ключа

Возможно ли автоматическое увеличение столбца в SQL Server без его первичного ключа?

Если да, как это можно сделать.

Спасибо

4b9b3361

Ответ 1

Да. Нет требования, чтобы столбцы IDENTITY составляли первичный ключ.

CREATE TABLE T
(
X INT PRIMARY KEY,
Y INT IDENTITY(1,1)
)

Хотя я не уверен, когда это было бы полезно. Если у вас есть естественный ключ, который вы хотите использовать в качестве ПК, тогда вы, вероятно, захотите поместить уникальное ограничение на альтернативный ключ суррогата в любом случае.

Для настройки отношений FK SQL Server все равно, является ли столбец (-ы) PK или нет, он просто требует уникального индекса на нем/.

Ответ 2

Объявите столбец с ключевым словом IDENTITY и просто не создавайте ограничение PRIMARY KEY.