Как я могу создать ограничение на уникальность данных SQL на основе 2 столбцов?

Тип Вашей целевой переменной всегда System.Object. Вы могли просто возвратиться

Convert.ChangeType(paramVal, System.Object).
57
задан brendan 10 July 2009 в 13:44
поделиться

4 ответа

Вы можете попробовать следующее:

CREATE UNIQUE CLUSTERED INDEX index_name ON TABLE (col1,col2)
or
CREATE UNIQUE NONCLUSTERED INDEX index_name ON TABLE (col1,col2)

или

ALTER TABLE [dbo].[TABLE] ADD CONSTRAINT
UNIQUE_Table UNIQUE CLUSTERED
(
col1,
col2
) ON [PRIMARY]
59
ответ дан 24 November 2019 в 19:33
поделиться

You can add unique constraint tou your fields:

ALTER TABLE YourTable
ADD CONSTRAINT UQ_UserId_ContactID UNIQUE(UserId, ContactID)
37
ответ дан 24 November 2019 в 19:33
поделиться
CREATE TABLE [LineItems](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [OrderID] [int] NOT NULL,
    [LineItemNumber] [int] NOT NULL,
 CONSTRAINT [PK_LineItems] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
),
 CONSTRAINT [UC_LineItems] UNIQUE NONCLUSTERED 
(
    [OrderID] ASC,
    [LineItemNumber] ASC
)
)
1
ответ дан 24 November 2019 в 19:33
поделиться

Вот синтаксис для создания уникального ОГРАНИЧЕНИЯ в отличие от уникального ИНДЕКСА.

ALTER TABLE publishers 
  ADD CONSTRAINT uqc_pub_name 
  UNIQUE (pub_name)

Важно отметить, что есть тонкие различия в зависимости от того, какой метод вы используете для обеспечения уникальности столбца.

См. следующая ссылка MSDN для интересного пошагового руководства по ним:

http://msdn.microsoft.com/en-us/library/aa224827 (SQL.80) .aspx

3
ответ дан 24 November 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: