Det är väl två sätt att skriva samma sak?
Den tredje varianten är väl redundant, eftersom en PRIMARY KEY alltid är UNIQUE?
3 svar · 195 visningar · startad av Nöff
CREATE TABLE anvandare (
ID int IDENTITY(1,1) PRIMARY KEY NOT NULL,
namn char(255),
kod char(255));
CREATE TABLE anvandare (
ID int IDENTITY(1,1) UNIQUE NOT NULL,
namn char(255),
kod char(255),
PRIMARY KEY(ID));
vad är det för skillnad på dessa egentligen?, tex i den översta kan jag inte deklarera UNIQUE medans jag kan det i den understa?.
Och denna tex, kan jag deklarera UNIQUE om jag sätter den UNIQUE neders.:
CREATE TABLE anvandare (
ID int IDENTITY(1,1) PRIMARY KEY NOT NULL,
namn char(255),
kod char(255)
UNIQUE(ID)
);
Det är väl två sätt att skriva samma sak?
Den tredje varianten är väl redundant, eftersom en PRIMARY KEY alltid är UNIQUE?
jag blir tokig på det här :o
jag gillar inte situationer när det skiljer ytterst lite mellan alternativen.
Skillnader mellan unique och primary key.
Kolumner som ingår i primary key kan inte innehålla null.
Kolumner som ingår i unique kan innehålla null.
Det kan finnas 0 eller 1 primary key i en tabell.
Det kan finnas 0 eller flera unique i en tabell.
Om man anger en foreign key utan kolumnlista efter REFERENCES så så använder man kolumnerna som ingår i primary key.
Du kan ange unique för sig enligt nedan
CREATE TABLE anvandare (
ID int IDENTITY(1,1) NOT NULL,
namn char(255),
kod char(255),
UNIQUE(ID)
)