SQL คีย์หลักข้อ จำกัด
ข้อ จำกัด ที่สำคัญ PRIMARY ระบุแต่ละระเบียนในตารางฐานข้อมูล
คีย์หลักจะต้องมีค่าที่ไม่ซ้ำ
คอลัมน์คีย์หลักไม่สามารถมีค่าเป็นศูนย์
ตารางส่วนใหญ่ควรจะมีคีย์หลักและโต๊ะแต่ละคนสามารถมีได้เพียงหนึ่งคีย์หลัก
SQL คีย์หลักข้อ จำกัด ในการสร้างตาราง
ต่อไปนี้ SQL สร้างคีย์หลักใน "P_Id" คอลัมน์เมื่อ "Persons" ตารางสร้าง:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
เพื่ออนุญาตให้มีการตั้งชื่อของข้อ จำกัด คีย์หลักสำหรับการกำหนดข้อ จำกัด คีย์หลักในหลายคอลัมน์ใช้ไวยากรณ์ SQL ต่อไปนี้:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Note: ในตัวอย่างข้างต้นมีเพียงหนึ่งคีย์หลัก (pk_PersonID) แต่ค่าของคีย์หลักถูกสร้างขึ้นจากสองคอลัมน์ (P_Id + นามสกุล)
SQL คีย์หลักข้อ จำกัด เกี่ยวกับการเปลี่ยนแปลงตาราง
เพื่อสร้างข้อ จำกัด คีย์หลักใน "P_Id" คอลัมน์เมื่อตารางจะถูกสร้างขึ้นแล้วใช้ SQL ต่อไปนี้:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
เพื่ออนุญาตให้มีการตั้งชื่อของข้อ จำกัด คีย์หลักสำหรับการกำหนดข้อ จำกัด คีย์หลักในหลายคอลัมน์ใช้ไวยากรณ์ SQL ต่อไปนี้:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Note: หากคุณใช้คำสั่งเปลี่ยนแปลงตารางการเพิ่มคีย์หลักคอลัมน์คีย์หลัก (s) จะต้องมีอยู่แล้วได้รับการประกาศเพื่อไม่ให้มีค่าเป็นศูนย์ (เมื่อตารางถูกสร้างขึ้นครั้งแรก)
ที่จะลดข้อ จำกัด คีย์หลัก
ที่จะลดข้อ จำกัด คีย์หลักใช้ SQL ต่อไปนี้:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID