SQL PRIMARNI KLJUČ: Stvaranje i dodavanje u postojeću tablicu
⚡ Pametni sažetak
Primarni ključ u SQL Serveru je stupac ili skup stupaca čije vrijednosti jedinstveno identificiraju svaki redak u tablici. Svaka tablica sadrži jedan primarni ključ, a njezini stupci nikada ne smiju biti NULL.

Što je primarni ključ u SQL-u?
Primarni ključ u SQL Server je polje ili kombinacija polja koja jedinstveno identificira zapis. To je stupac ili skup stupaca u kojem je svaka vrijednost jedinstvena. Drugim riječima, nijedna dva retka ne mogu dijeliti istu vrijednost primarnog ključa.
Pravila za primarni ključ
- Svaka tablica može imati samo jedan primarni ključ.
- Sve vrijednosti su jedinstvene, a vrijednost primarnog ključa može jedinstveno identificirati svaki redak.
- Sustav neće dopustiti umetanje retka čija vrijednost primarnog ključa već postoji u tablici.
- Primarni ključ ne može biti NULL.
Donji dijagram sažima sve gore navedene točke o primarnom ključu SQL-a.
Kako stvoriti primarni ključ u SQL Serveru
Primarni ključ možete stvoriti na dva načina:
- SQL Server Management Studio
- T-SQL: stvaranje primarnog ključa prilikom stvaranja nove tablice
Proučimo svaku metodu detaljno.
SQL Server Management Studio
Korak 1) Desnom tipkom miša kliknite naziv tablice i kliknite dizajn.
Korak 2) Desnom tipkom miša kliknite naziv stupca i kliknite Postavi primarni ključ.
Rezultat: Course_Id je sada primarni ključ, prikazan ikonom ključa pored stupca.
T-SQL: Stvaranje primarnog ključa prilikom stvaranja nove tablice
Ispod je sintaksa za stvoriti tablicu s primarnim ključem iz T-SQL-a.
Sintaksa:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Ovdje CONSTRAINT imenuje ključ, PRIMARY KEY označava stupac koji mora ostati jedinstven, a svaki stupac također treba tip podataka.
Napravimo tablicu s jednim stupcem kao primarnim ključem SQL-a.
upita:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Korak 1) Pokrenite upit klikom Izvršiti.
Rezultat: Course_Id je sada primarni ključ u tablici COURSE_TSQL_PK.
Primjer: Pogledajmo dopušta li unos više zapisa s istim ID-om tečaja.
Korak 1) Umetnite četiri retka s različitim vrijednostima Course_ID.
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');
Korak 2) Provjerite jesu li svi podaci uspješno umetnuti pokretanjem SELECT upita.
Napomena: U stupac koji nije primarni ključ možete umetnuti duplicirane vrijednosti.
Korak 3) Sada pokušajmo umetnuti novi zapis s postojećim Course_ID-om, koji je primarni ključ.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Rezultat: Sustav ne dopušta umetanje nove vrijednosti jer 4 već postoji u stupcu Course_ID, što je primarni ključ.
Kako dodati primarni ključ postojećoj tablici u SQL-u?
Sada ćemo vidjeti kako dodati primarni ključ postojećoj tablici u SQL-u.
Naredbu ALTER možete koristiti za stvaranje primarnog ključa. Međutim, primarni ključ može se stvoriti samo na stupcima koji su definirani kao NOT NULL. Ne možete stvoriti primarni ključ na stupcu koji dopušta NULL vrijednosti; ako stupac trenutno dopušta NULL vrijednosti, prvo ga morate promijeniti u NOT NULL ili ukloniti i ponovno stvoriti tablicu.
Evo sintakse:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Na primjer:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Dodali smo ograničenje primarnog ključa već postojećoj tablici. Ograničenje je dodano u stupac za prijem i dodijeljen mu je naziv students_pk.
Zanimljivosti!
- Primarni ključ može biti kombinacija više stupaca. Ta kombinacija poznata je kao složeni primarni ključ.
- Primarni ključ može imati najviše 16 stupaca.









