PRIMARY KEY
- Primary key is a filed in table which uniquely identifies each row / record.
- When we create primary key on columns it follows two conditions.
A. Primary key column is uniquely identifies each row / record.
B. Primary key column not allow NULL values.
CREATE PRIMARY KEY WHEN CTREATING THE TABLE:
Column level
CREATE TABLE Tbl_emp_Pk
(
ID INT PRIMARY KEY,
NAME VARCHAR(10),
SALARY INT NOT NULL
)
Table level
CREATE TABLE Tbl_emp_Pk
(
ID INT ,
NAME VARCHAR(10),
SALARY INT NOT NULL
CONSTRAINT pk_ID PRIMARY KEY (ID)
)
To check list of primary key constraints
SELECT * FROM SYS.KEY_CONSTRAINTS
WHERE type='PK'
INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(1,'Rakesh',7000)
INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(2,'Banu',8000)
INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(3,'Ravi',9000)
SELECT * FROM Tbl_emp_Pk
Senario-1
INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(3,'Madhu',1000)
In above table data 3 values is already exists in ID column. The above insert statement will fail because
Msg 2627, Level 14, State 1, Line 2
Violation of PRIMARY KEY constraint 'pk_ID'. Cannot insert duplicate key in object 'dbo.Tbl_emp_Pk'.
Senario-2
INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(NULL,'Madhu',1000)
In above insert query NULL value is inserting in ID column. The above insert satement will fail bacause of prmary key field not allow null values.
Msg 515, Level 16, State 2, Line 3
Cannot insert the value NULL into column 'ID', table 'test.dbo.Tbl_emp_Pk'; column does not allow nulls. INSERT fails.PRMARY KEY FILED IN TABLE IS NOT ALLOW NULL VALUES
When we create primary key on table automaticallly unique index is created on the table.
To check the unique index on table simple query below.
SELECT * FROM SYS.INDEXES WHERE [object_id]= OBJECT_ID('Tbl_emp_Pk')