如何在SQLAzure中创建两个或多个唯一列?
我想在我的表中选择两列并使它们如何在SQLAzure中创建两个或多个唯一列?,sql,azure,unique,Sql,Azure,Unique,我想在我的表中选择两列并使它们唯一,但我不知道如何在SQLAzure数据库中这样做。如下图所示,它没有显示任何修改表属性的选项,因此所有操作都是使用sql查询完成的: 以下是生成的表脚本: USE [mydbase] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[clientaccess]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [Mod
唯一
,但我不知道如何在SQLAzure数据库中这样做。如下图所示,它没有显示任何修改表属性的选项,因此所有操作都是使用sql查询完成的:以下是生成的表脚本:
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
这是我遇到问题的预览,它包含重复记录:希望有人能理解我的解释。有时候GUI有局限性(或者没有,但您还没有发现所有功能是如何工作的)。始终可以使用
ALTER TABLE
添加唯一约束:
ALTER TABLE [dbo].[clientaccess]
ADD CONSTRAINT Module_Client_UQ --- choose a name
UNIQUE (ModuleName, ClientAuthenticationId) ;
是否要使两列的组合
(ModuleName,ClientAuthenticationId)
唯一?可以使用ALTER TABLE添加唯一约束:ALTER TABLE[dbo]。[clientaccess]添加约束模块\u客户端\u唯一(ModuleName,ClientAuthenticationId)
@ypercube-看起来像是我的答案。“有时候GUI有限制……”这是因为它是SQL Azure,在访问SQL Azure时,您无法访问Mgt Studio中的所有功能database@Matt:Thnx。我没有使用Azure,所以我不确定OP是否找不到方法或存在限制。