Hej! I det här fallet borde du separera tabellen stad till en annan tabell och i din users-tabell, ha fältet namn och stadid ... Att flera namn inte får förekomma i samma stad låter också väldigt märkligt. Varför? Hej! Sätt index på både fält 2 och 3 så kommer du inte kunna lägga till samma poster 2 gånger.. Tack precis vad jag letade efter!unik kombination mellan två olika kolumner
Sitter i en stressad situation och skulle vara väldigt tacksam för ett snabbt enkelt svar hur detta kan lösas.
Håller på att skapa tabeller i MSSQL och ska göra en relativt simpel tabell, innehållet ska vara följande.
En räknare, ett namn och stad. kombinationen namn och stad får inte vara identisk och där är mitt problem.
Kopia nedan på mitt nuvarande script.
CREATE TABLE [USERS2] (
[pk_id] [int] IDENTITY (1, 1) NOT NULL ,
[namn] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL UNIQUE,
[stad] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
) ON [PRIMARY]
ALTER TABLE [USERS2] WITH NOCHECK ADD
CONSTRAINT [PK_USERS2] PRIMARY KEY CLUSTERED
(
[pk_id]
) ON [PRIMARY]
GO
Sv: unik kombination mellan två olika kolumner
Har du tänkt rätt där?Sv:unik kombination mellan två olika kolumner
Mitt exempel kanske inte blev så bra, och kan hålla med om att dessa borde finnas i olika tabeller men jag har inte den möjligheten nu tyvärr pga av policys.
Jag har ett gäng koder som ska läsas in till tabellen och har något som vi kan kalla kategori och senare ett kod värde.
Och då får värdena förekomma flera gånger men inte under samma kategori.
Är detta möjligt att utföra som en regel i en tabell? Känns säkrare att bygga in det om det är möjligt istället för att skapa detta i en stored procedure.
Mvh ErikSv: unik kombination mellan två olika kolumner
CREATE TABLE [dbo].[Table1] (
[test] [int] IDENTITY (1, 1) NOT NULL ,
[kolumn1] [varchar] (50) COLLATE Finnish_Swedish_CI_AS NOT NULL ,
[kolumn2] [varchar] (50) COLLATE Finnish_Swedish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE UNIQUE CLUSTERED
INDEX [PK_Table1] ON [dbo].[Table1] ([kolumn1], [kolumn2])
WITH
DROP_EXISTING
ON [PRIMARY]
Om du då lägger in data fel så kommer du få "cannot insert duplicate key" - vilket kanske borde fungera för díg? Det finns ju iofs fler varianter.
Sv:unik kombination mellan två olika kolumner
Nu får jag allting att fungera som jag vill