Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL अद्वितीय बाधा जोड़ें

कभी-कभी आपको MySQL में कॉलम को विशिष्ट बनाने की आवश्यकता हो सकती है। आप MySQL में एक अद्वितीय कॉलम बाधा जोड़कर ऐसा कर सकते हैं। अद्वितीय बाधा जोड़ने के कुछ तरीके हैं - तालिका बनाएं या तालिका में परिवर्तन का उपयोग करना। यहाँ MySQL में अद्वितीय बाधा जोड़ने का तरीका बताया गया है।

MySQL अद्वितीय प्रतिबंध जोड़ें

यहाँ MySQL में अद्वितीय बाधा जोड़ने का तरीका बताया गया है। जब आप टेबल बनाते हैं, या टेबल बनाने के बाद आप अनन्य बाधा जोड़ सकते हैं। हम इन दोनों दृष्टिकोणों को देखेंगे।

MySQL तालिका बनाते समय अद्वितीय बाधा जोड़ें

तालिका बनाते समय UNIQUE बाधा उत्पन्न करने के लिए SQL कथन यहां दिया गया है

CREATE TABLE table_name(
    ...,
    column_name data_type UNIQUE,
    ...
)

उपरोक्त क्वेरी में, आपको उस कॉलम की परिभाषा के लिए UNIQUE कीवर्ड निर्दिष्ट करना होगा जिसे आप अद्वितीय बनाना चाहते हैं।

अद्वितीय बाधा बनाने के लिए यहां एक उदाहरण दिया गया है। निम्नलिखित उदाहरण में, हमने order_id . के लिए UNIQUE बाधा को जोड़ा है कॉलम

mysql> create table recent_orders
     (
     order_id int UNIQUE,
     amount int
     );

mysql> describe recent_orders;
+----------+---------+------+-----+---------+-------+
| Field    | Type    | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+-------+
| order_id | int(11) | YES  | UNI | NULL    |       |
| amount   | int(11) | YES  |     | NULL    |       |
+----------+---------+------+-----+---------+-------+

अब अगर आप order_id . के लिए डुप्लीकेट मान डालने का प्रयास करते हैं कॉलम में आपको एक त्रुटि मिलेगी।

mysql> insert into recent_orders(order_id, amount) values(1, 100),(1,250);
ERROR 1062 (23000): Duplicate entry '1' for key 'order_id'

mysql> insert into recent_orders(order_id, amount) values(1, 100),(2,250);

mysql> select * from recent_orders;
+----------+--------+
| order_id | amount |
+----------+--------+
|        1 |    100 |
|        2 |    250 |
+----------+--------+

बोनस पढ़ें :MySQL कॉलम का नाम बदलें

MySQL मौजूदा कॉलम में अद्वितीय बाधा जोड़ें

ALTER TABLE स्टेटमेंट का उपयोग करके मौजूदा कॉलम के लिए UNIQUE कंस्ट्रक्शन बनाने के लिए SQL स्टेटमेंट यहां दिया गया है।

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... );

उपरोक्त SQL क्वेरी में, आपको एक constraint_name . निर्दिष्ट करने की आवश्यकता है ADD CONSTRAINT के बाद UNIQUE बाधा के लिए, और उन स्तंभों को सूचीबद्ध करें जिन्हें आप ( )

में अद्वितीय बनाना चाहते हैं

मौजूदा कॉलम में अद्वितीय बाधा जोड़ने के लिए यहां एक उदाहरण दिया गया है

mysql> alter table recent_orders add constraint unique_amount UNIQUE (amount);

mysql> describe recent_orders;
+----------+---------+------+-----+---------+-------+
| Field    | Type    | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+-------+
| order_id | int(11) | YES  | UNI | NULL    |       |
| amount   | int(11) | YES  | UNI | NULL    |       |
+----------+---------+------+-----+---------+-------+

उपरोक्त क्वेरी में, हमने राशि कॉलम में अद्वितीय बाधा जोड़ी है।

बोनस पढ़ें :MySQL में टेबल की नकल कैसे करें

MySQL अद्वितीय प्रतिबंध एकाधिक कॉलम जोड़ें

एकाधिक स्तंभों के लिए अद्वितीय बाधा उत्पन्न करने के लिए यहां SQL कथन दिया गया है।

mysql> create table old_orders
     (
     order_id int,
     amount int,
     CONSTRAINT u_orders UNIQUE (order_id,amount)
     );


mysql> describe old_orders;
+----------+---------+------+-----+---------+-------+
| Field    | Type    | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+-------+
| order_id | int(11) | YES  | MUL | NULL    |       |
| amount   | int(11) | YES  |     | NULL    |       |
+----------+---------+------+-----+---------+-------+


mysql> insert into old_orders(order_id, amount) values(1, 100),(1,100);
ERROR 1062 (23000): Duplicate entry '1-100' for key 'u_orders'

बोनस पढ़ें:पैरामीटर के साथ MySQL संग्रहीत प्रक्रिया

आप ALTER TABLE स्टेटमेंट का उपयोग करके कई कॉलम में UNIQUE CONSTRAINT भी जोड़ सकते हैं।

alter table old_orders add constraint unique_orders UNIQUE (order_id,amount);

Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql के लिए अधिकतम क्वेरी आकार क्या है?

  2. MySQL में संग्रहीत कार्यविधि को कैसे शेड्यूल करें

  3. टेबल लॉक किए बिना एक विशाल MySQL उत्पादन तालिका पर एक अनुक्रमणिका बनाएं

  4. MySQL में पार्स तिथि

  5. MySQL:उन पंक्तियों का चयन करना जहाँ एक कॉलम रिक्त है