ล่าสุดการพัฒนาเว็บบทเรียน
 

SQLยูนิค จำกัด


SQL ยูนิค จำกัด

ข้อ จำกัด ที่ไม่ซ้ำกันไม่ซ้ำกันระบุแต่ละระเบียนในตารางฐานข้อมูล

ที่ไม่ซ้ำกันหลักและข้อ จำกัด ที่สำคัญทั้งสองให้การรับประกันไม่ซ้ำกันสำหรับคอลัมน์หรือชุดของคอลัมน์

ข้อ จำกัด คีย์หลักโดยอัตโนมัติมี จำกัด ที่ไม่ซ้ำที่กำหนดไว้ในนั้น

โปรดทราบว่าคุณสามารถมีข้อ จำกัด ที่ไม่ซ้ำกันต่อโต๊ะ แต่เพียงหนึ่ง จำกัด KEY หลักต่อโต๊ะ


SQL UNIQUE ข้อ จำกัด ในการสร้างตาราง

ต่อไปนี้ SQL สร้างข้อ จำกัด ที่ไม่ซ้ำกัน "P_Id" คอลัมน์เมื่อ "Persons" ตารางสร้าง:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MySQL:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

เพื่ออนุญาตให้มีการตั้งชื่อของข้อ จำกัด ที่ไม่ซ้ำกันและสำหรับการกำหนดข้อ จำกัด ที่ไม่ซ้ำกันในหลายคอลัมน์ใช้ไวยากรณ์ 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 uc_PersonID UNIQUE (P_Id,LastName)
)

SQL UNIQUE ข้อ จำกัด เกี่ยวกับการเปลี่ยนแปลงตาราง

เพื่อสร้างข้อ จำกัด ที่ไม่ซ้ำกัน "P_Id" คอลัมน์เมื่อตารางจะถูกสร้างขึ้นแล้วใช้ SQL ต่อไปนี้:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

เพื่ออนุญาตให้มีการตั้งชื่อของข้อ จำกัด ที่ไม่ซ้ำกันและสำหรับการกำหนดข้อ จำกัด ที่ไม่ซ้ำกันในหลายคอลัมน์ใช้ไวยากรณ์ SQL ต่อไปนี้:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

ที่จะลดข้อ จำกัด ที่ไม่ซ้ำกัน

จะลดลง จำกัด ที่ไม่ซ้ำใช้ SQL ต่อไปนี้:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID