Từ khóa PRIMARY KEY trong SQL
KHÓA CHÍNH
Ràng buộc PRIMARY KEY
xác định duy nhất từng bản ghi trong bảng.
Một bảng chỉ có thể có một khóa chính, có thể bao gồm một hoặc nhiều trường.
KHÓA CHÍNH SQL trên TẠO BẢNG
SQL sau đây tạo KHÓA CHÍNH trên cột "ID" khi bảng "Người" được tạo:
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
Máy chủ SQL/Oracle/MS truy cập:
CREATE TABLE Persons
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Để cho phép đặt tên cho ràng buộc PRIMARY KEY và để xác định ràng buộc PRIMARY KEY trên nhiều cột, hãy sử dụng cú pháp SQL sau:
Truy cập MySQL / SQL Server / Oracle / MS:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Lưu ý: Trong ví dụ trên chỉ có MỘT KHÓA CHÍNH (PK_Person). Tuy nhiên, GIÁ TRỊ của khóa chính được tạo thành từ HAI CỘT (ID + Họ).
KHÓA CHÍNH SQL trên BẢNG ALTER
Để tạo ràng buộc PRIMARY KEY trên cột "ID" khi bảng đã được tạo, hãy sử dụng SQL sau:
Truy cập MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Để cho phép đặt tên cho ràng buộc PRIMARY KEY và để xác định ràng buộc PRIMARY KEY trên nhiều cột, hãy sử dụng cú pháp SQL sau:
Truy cập MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Lưu ý: Nếu bạn sử dụng câu lệnh ALTER TABLE để thêm khóa chính thì (các) cột khóa chính phải được khai báo là không chứa giá trị NULL (khi bảng được tạo lần đầu tiên).
BỎ Ràng buộc KHÓA CHÍNH
Để loại bỏ ràng buộc PRIMARY KEY, hãy sử dụng SQL sau:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
Máy chủ SQL/Oracle/MS truy cập:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;