คีย์เวิร์ด SQL คีย์หลัก
คีย์หลัก
ข้อPRIMARY KEY
จำกัดจะระบุแต่ละระเบียนในตารางโดยไม่ซ้ำกัน
ตารางสามารถมีคีย์หลักได้เพียงคีย์เดียว ซึ่งอาจประกอบด้วยฟิลด์เดียวหรือหลายฟิลด์
คีย์หลักของ SQL บน CREATE TABLE
SQL ต่อไปนี้สร้าง PRIMARY KEY บนคอลัมน์ "ID" เมื่อสร้างตาราง "Persons":
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
CREATE TABLE Persons
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
ในการอนุญาตการตั้งชื่อข้อจำกัด PRIMARY KEY และสำหรับการกำหนดข้อจำกัด PRIMARY KEY ในหลายคอลัมน์ ให้ใช้ไวยากรณ์ SQL ต่อไปนี้:
การเข้าถึง 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)
);
หมายเหตุ:ในตัวอย่างข้างต้นมีคีย์หลักเพียงคีย์เดียว (PK_Person) อย่างไรก็ตาม VALUE ของคีย์หลักประกอบด้วยสองคอลัมน์ (ID + นามสกุล)
คีย์หลักของ SQL บน ALTER TABLE
ในการสร้างข้อจำกัด PRIMARY KEY ในคอลัมน์ "ID" เมื่อสร้างตารางแล้ว ให้ใช้ SQL ต่อไปนี้:
การเข้าถึง MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
ในการอนุญาตการตั้งชื่อข้อจำกัด PRIMARY KEY และสำหรับการกำหนดข้อจำกัด PRIMARY KEY ในหลายคอลัมน์ ให้ใช้ไวยากรณ์ SQL ต่อไปนี้:
การเข้าถึง MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
หมายเหตุ:หากคุณใช้คำสั่ง ALTER TABLE เพื่อเพิ่มคีย์หลัก คอลัมน์คีย์หลักต้องได้รับการประกาศแล้วเพื่อไม่ให้มีค่า NULL (เมื่อสร้างตารางในครั้งแรก)
วางข้อจำกัดของคีย์หลัก
หากต้องการยกเลิกข้อจำกัด PRIMARY KEY ให้ใช้ SQL ต่อไปนี้:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;