Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้าง Unique Key อ้างอิงวันที่ใน MySQL

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