SQL PRIMÄRNYCKEL: Skapa och lägg till i en befintlig tabell
⚡ Smart sammanfattning
En primärnyckel i SQL Server är en kolumn eller en uppsättning kolumner vars värden unikt identifierar varje rad i en tabell. Varje tabell innehåller en primärnyckel, och dess kolumner får aldrig vara NULL.

Vad är primärnyckel i SQL?
En primärnyckel i SQL Server är ett fält, eller en kombination av fält, som identifierar en post unikt. Det är en kolumn eller en uppsättning kolumner där varje värde är unikt. Med andra ord kan inga två rader dela samma primärnyckelvärde.
Regler för primärnyckel
- Varje tabell kan bara ha en primärnyckel.
- Alla värden är unika, och primärnyckelvärdet kan identifiera varje rad unikt.
- Systemet tillåter inte att en rad infogas vars primärnyckelvärde redan finns i tabellen.
- En primärnyckel kan inte vara NULL.
Diagrammet nedan sammanfattar alla punkter ovan om SQL-primärnyckeln.
Hur man skapar en primär nyckel i SQL Server
Du kan skapa en primärnyckel på två sätt:
- SQL Server Management Studio
- T-SQL: skapa primärnyckeln när du skapar en ny tabell
Låt oss studera varje metod i detalj.
SQL Server Management Studio
Steg 1) Högerklicka på tabellnamnet och klicka på Design.
Steg 2) Högerklicka på kolumnnamnet och klicka på Ange primärnyckel.
Resultat: Course_Id är nu en primärnyckel, som visas med en nyckelikon bredvid kolumnen.
T-SQL: Skapa en primärnyckel när du skapar en ny tabell
Nedan följer syntaxen för att skapa en tabell med en primärnyckel från T-SQL.
Syntax:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Här namnger CONSTRAINT nyckeln, PRIMARY KEY markerar kolumnen som måste förbli unik, och varje kolumn behöver också en data typ.
Låt oss skapa en tabell med en kolumn som SQL-primärnyckel.
Fråga:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Steg 1) Kör frågan genom att klicka på Utförande.
Resultat: Course_Id är nu en primärnyckel i tabellen COURSE_TSQL_PK.
Exempel: Låt oss se om det är möjligt att mata in flera poster med samma kurs-ID.
Steg 1) Infoga fyra rader med olika Course_ID-värden.
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
Steg 2) Kontrollera att all data har infogas korrekt genom att köra SELECT-frågan.
Obs! Du kan infoga dubbletter av värden i en kolumn som inte är en primärnyckel.
Steg 3) Nu ska vi försöka infoga en ny post med ett befintligt Course_ID, vilket är primärnyckeln.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Resultat: Systemet tillåter inte att det nya värdet infogas, eftersom 4 redan finns i kolumnen Course_ID, vilket är en primärnyckel.
Hur lägger man till primärnyckel till befintlig tabell i SQL?
Nu ska vi se hur man lägger till en primärnyckel till en befintlig tabell i SQL.
Du kan använda ALTER-satsen för att skapa en primärnyckel. En primärnyckel kan dock bara skapas på kolumner som är definierade som NOT NULL. Du kan inte skapa en primärnyckel på en kolumn som tillåter NULL-värden; om en kolumn för närvarande tillåter NULL-värden måste du först ändra den till NOT NULL, eller ta bort och återskapa tabellen.
Här är syntaxen:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Till exempel:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Vi har lagt till en primärnyckelbegränsning till en redan befintlig tabell. Begränsningen har lagts till i antagningskolumnen och tilldelats namnet students_pk.
Intressanta fakta!
- En primärnyckel kan vara en kombination av flera kolumner. Denna kombination kallas den sammansatta primärnyckeln.
- En primärnyckel kan ha maximalt 16 kolumner.









