Unique Constraint ผสมคอลัมน์ ID และ Date
สร้าง Unique Key แบบ Composite ที่รวมคอลัมน์ ID และ Date เพื่อป้องกันข้อมูลซ้ำในวันเดียวกัน
ไวยากรณ์
CREATE TABLE yourTableName (
yourIdColumnName dataType,
yourDateColumnName dataType,
...
UNIQUE KEY(yourIdColumnName, yourDateColumnName)
);
ตัวอย่าง
CREATE TABLE keyReferringToDateDemo (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Client_Id INT,
ClientProjectDeadline DATE,
ClientName VARCHAR(100),
ClientAge INT,
ClientCountryName VARCHAR(20),
UNIQUE KEY(Client_Id, ClientProjectDeadline)
);
ตรวจสอบโครงสร้าง
SHOW CREATE TABLE keyReferringToDateDemo;
แสดง UNIQUE KEY `Client_Id` (`Client_Id`,`ClientProjectDeadline`)
การทำงาน
- Client_Id เดียวกัน + Deadline เดียวกัน = Error (Duplicate)
- Client_Id เดียวกัน + Deadline ต่างกัน = OK
- Client_Id ต่างกัน + Deadline เดียวกัน = OK
กรณีใช้งาน
- ป้องกันโครงการซ้ำในวันเดียวกันของลูกค้าเดียวกัน
- จัดการตารางนัดหมาย (User + DateTime Unique)
- Log กิจกรรมรายวันต่อ User