Создать уникальное ограничение для numbers2.id1
:
create table numbers2
(
id1 int IDENTITY(1,1) not null,
id2 int not null,
primary key(id1, id2),
unique(id1)
)
Я хотел бы знать, почему вы решили создать первичный ключ для двух столбцов, где первый столбец уже сам по себе уникален.Я уверен, что это нарушает какое-то правило нормальной формы, но я не могу вспомнить, какое из них.
Если вы сделали это, чтобы охватить данные в обоих столбцах, то делать это не нужно, простосделайте это вместо этого (при условии, что данные в id1
действительно уникальны):
create table numbers2
(
id1 int IDENTITY(1,1) not null,
id2 int not null,
primary key(id1),
)
create index cover_id2 on numbers2(id2) -- no need to include clustered index columns in a covering index