2

テーブルで 2 つの列を選択して作成したいのですがunique、SQL Azure データベースでそれを行う方法がわかりません。下の画像でわかるように、テーブルのプロパティを変更するオプションが表示されていないため、すべて 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  

これは、問題が発生したプレビューです。重複したレコードが含まれています。
ここに画像の説明を入力

誰かが私の説明を理解してくれることを願っています。

4

1 に答える 1

7

GUIS には制限がある場合があります (または制限がない場合もありますが、すべての機能がどのように機能するかはまだわかっていません)。次のコマンドを使用して、いつでも一意の制約を追加できますALTER TABLE

ALTER TABLE [dbo].[clientaccess] 
  ADD CONSTRAINT Module_Client_UQ                --- choose a name
  UNIQUE (ModuleName, ClientAuthenticationId) ;
于 2012-09-21T06:38:25.830 に答える