我想選擇我的表中的兩列,並使它們成爲unique
,但我不知道如何在SQL Azure數據庫中執行此操作。正如你可以在下面的圖片中看到,它不顯示任何選項來修改表的屬性,所以一切都是使用SQL查詢來完成:
如何在SQL Azure中創建兩個或更多唯一列?
下面是表的生成腳本:
USE [mydbase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[clientaccess](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[ModuleName] [nvarchar](50) NOT NULL,
[ClientAuthenticationId] [bigint] NOT NULL,
[HasAccess] [bit] NOT NULL,
CONSTRAINT [PK_clientaccess_ID] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
GO
ALTER TABLE [dbo].[clientaccess] WITH CHECK ADD CONSTRAINT [CAI_caID] FOREIGN KEY([ClientAuthenticationId])
REFERENCES [dbo].[clientauthentication] ([ID])
GO
ALTER TABLE [dbo].[clientaccess] CHECK CONSTRAINT [CAI_caID]
GO
這是我遇到的問題的預覽,它包含重複記錄:
希望有人理解我的解釋。
你想使組合'(模塊名,ClientAuthenticationId)'? –
是的,確切地說。 :-) – fiberOptics
您可以使用ALTER TABLE添加唯一約束:'ALTER TABLE [dbo]。[clientaccess] ADD CONSTRAINT Module_Client_UQ UNIQUE(ModuleName,ClientAuthenticationId);' –