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 · 216 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
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)
)