Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में दिनांक कॉलम को संदर्भित करने वाला कम्पोजिट यूनिक की कैसे बनाएं?

कम्पोजिट यूनिक की जिसमें दिनांक कॉलम शामिल हो

एक ही क्लाइंट के लिए एक ही प्रोजेक्ट डेडलाइन पर डुप्लिकेट रोकने के लिए 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 में आसानी होती है।

  1. - MySQL में CREATE TEMPORARY TABLE से अस्थायी टेबल बनाएं

    MySQL में CREATE TEMPORARY TABLE स्टेटमेंट सत्र-विशिष्ट (session-specific) अस्थायी टेबल बनाता है। यह कनेक्शन बंद होने पर स्वचालित रूप से ड्रॉप हो जाती है। सिंटैक्स CREATE TEMPORARY TABLE टेबल_नाम ( कॉलम_नाम डेटा_टाइप ); उदाहरण: दिनांक/समय मान संग्रहीत करना 1. अस्थायी टेबल बनाएं ); 2. विभिन्

  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN

  1. - MySQL में टेबल बनाकर वर्तमान तिथि को डिफ़ॉल्ट मान के रूप में सेट करना

    DEFAULT कंस्ट्रेंट सिंटैक्स CREATE TABLE yourTableName ( yourColumnName1 dataType not null, yourColumnName2 dataType default anyValue, ... ); उदाहरण: कर्मचारी जॉइनिंग तिथि ); डेटा डालना और परिणाम insert into demo43(employee_name) values(Bob); +-------------+---------------+---------