कम्पोजिट यूनिक की जिसमें दिनांक कॉलम शामिल हो
एक ही क्लाइंट के लिए एक ही प्रोजेक्ट डेडलाइन पर डुप्लिकेट रोकने के लिए UNIQUE KEY (Client_Id, ClientProjectDeadline) बनाएं।
सिंटैक्स
CREATE TABLE yourTableName (
yourIdColumnName INT,
yourDateColumnName DATE,
...
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औरClientProjectDeadlineका संयोजन दोहराया नहीं जा सकता। - अलग-अलग क्लाइंट के लिए समान डेडलाइन अनुमत है।
- समान क्लाइंट के लिए अलग डेडलाइन अनुमत है।
NULLमान: MySQL में यूनिक इंडेक्स एकाधिकNULLकी अनुमति देता है (प्रत्येकNULLको अलग माना जाता है)।
मौजूदा टेबल पर जोड़ना
ALTER TABLE existing_table ADD UNIQUE KEY uk_client_deadline (Client_Id, ClientProjectDeadline);
नामकरण सर्वोत्तम अभ्यास
स्पष्ट नाम दें: UNIQUE KEY uk_client_project_deadline (Client_Id, ClientProjectDeadline) — बाद में DROP INDEX में आसानी होती है।