У меня есть уникальное ограничение на таблицу базы данных SQL Server 2008 с ограничением, содержащим 4 столбца. При вводе некоторых тестовых данных я неожиданно получил уникальное нарушение ограничений. Для четырех столбцов я просто вводил число, вставляя значение, увеличивая число, затем повторяя (т. Е. (1,1,1,1) (2,2,2,2,) ... и т. Д.), , Нарушение произошло, когда я добрался до 10. Если я сейчас введу какое-то число, это нарушит ограничение. Затем я попробовал войти в букву «А» и попытался вставить любые слова, начинающиеся с «А», что привело к нарушению. Нужно ли мне что-то менять в моем ограничении, или как они на самом деле должны работать?Уникальное нарушение ограничений с одиночной вставкой символов
ALTER TABLE [dbo].[Table] ADD CONSTRAINT [UC_Table_Column1_Column2_Column3_Column4]
UNIQUE NONCLUSTERED
(
[Column1] ASC,
[Column2] ASC,
[Column3] ASC,
[Column4] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON
[PRIMARY]
Каковы определения полей 4 «Столбец»? Разрешают ли они более 1 символа? –
Являются ли ваши столбцы с 1 по 4 настроенными как char (1)? –
VARCHAR (50) NOT NULL, VARCHAR (50) NOT NULL, INT NOT NULL, VARCHAR (25) NOT NULL – user2023116