Bonjour à tous.
Je suis vraiment pas doué avec SQL server et là je butte sur nue truc que vous allez trouver fort simple : je veux ajouter une contrainte unique sur une colonne de ma table et je trouve pas comment faire.
Je suis sur un SQL Server 2005 Express et je vous donne le script de création de ma table en fin de message.
Je souhaiterais que ma colonne AdresseMail soit unique, c'est à dire que si j'essaie de saisir une adresse qui se trouve déjà dans la table j'ai un message d'erreur. Mais je veux garder le MailUserId comme clé primaire.
Je viens de farfouiller le net à la recherche d'une solution, j'ai touvé toutes les explications sympa, mais pas de procédure simple pour faire ça.
En fait, je n'ai jamais été trés doué pour manipuler les tables par Transact SQL, je fait tout par le Studio Management.
Vous pouvez m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 /****** Object: Table [dbo].[PUB_BaseAdresse] Script Date: 05/24/2011 10:28:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[PUB_BaseAdresse]( [MailUserId] [uniqueidentifier] NOT NULL, [AdresseMail] [varchar](200) NULL, [DateCreation] [datetime] NULL, [Activite] [varchar](5) NULL, CONSTRAINT [PK_PUB_BaseAdresse] PRIMARY KEY CLUSTERED ( [MailUserId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[PUB_BaseAdresse] ADD CONSTRAINT [DF_Table_1_UserId] DEFAULT (newid()) FOR [MailUserId] GO ALTER TABLE [dbo].[PUB_BaseAdresse] ADD CONSTRAINT [DF_PUB_BaseAdresse_AdresseMail] DEFAULT ('') FOR [AdresseMail] GO ALTER TABLE [dbo].[PUB_BaseAdresse] ADD CONSTRAINT [DF_PUB_BaseAdresse_DateCreation] DEFAULT (getdate()) FOR [DateCreation] GO ALTER TABLE [dbo].[PUB_BaseAdresse] ADD CONSTRAINT [DF_PUB_BaseAdresse_Activite] DEFAULT ('actif') FOR [Activite] GO
Partager