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

MySQL टेबल में डुप्लीकेट एंट्री कैसे रोकें?

MySQL टेबल में डुप्लीकेट मान रोकने के लिए UNIQUE कंस्ट्रेंट या UNIQUE INDEX जोड़ें।

सिंटैक्स

मौजूदा टेबल पर:

ALTER TABLE yourTableName ADD CONSTRAINT constraintName UNIQUE (columnName);

या सीधे:

ALTER TABLE yourTableName ADD UNIQUE (columnName);

नई टेबल बनाते समय:

CREATE TABLE yourTableName (
    columnName INT UNIQUE,
    ...
);

उदाहरण

CREATE TABLE RemoveDuplicateEntry (
    Id INT,
    Name VARCHAR(100)
) ENGINE = MyISAM;

ALTER TABLE RemoveDuplicateEntry ADD CONSTRAINT unique_key_id UNIQUE (Id);

संरचना जांचें:

DESC RemoveDuplicateEntry;

Key कॉलम में 'UNI' दिखेगा

डुप्लीकेट डालने का प्रयास

INSERT INTO RemoveDuplicateEntry VALUES (101, 'John');  -- सफल
INSERT INTO RemoveDuplicateEntry VALUES (101, 'John');  -- ERROR 1062: Duplicate entry '101' for key 'Id'

महत्वपूर्ण बिंदु

  • UNIQUE NULL मानों को अनुमति देता है (एकाधिक NULL संभव)
  • PRIMARY KEY = UNIQUE + NOT NULL
  • कंस्ट्रेंट नाम वैकल्पिक, ऑटो-जेनरेट होता है
  • बहु-कॉलम यूनिक: UNIQUE (col1, col2)
  • हटाने के लिए: ALTER TABLE table_name DROP INDEX index_name;

INSERT IGNORE / ON DUPLICATE KEY UPDATE

-- डुप्लीकेट पर अनदेखा करें
INSERT IGNORE INTO RemoveDuplicateEntry VALUES (101, 'John');

-- डुप्लीकेट पर अपडेट करें
INSERT INTO RemoveDuplicateEntry VALUES (101, 'John') 
ON DUPLICATE KEY UPDATE Name = 'John Updated';
  1. - MySQL में REPLACE() फंक्शन का उपयोग करके वर्ण कैसे बदलें?

    MySQL में REPLACE() फ़ंक्शन का उपयोग करके किसी स्ट्रिंग में सभी घटनाओं को दूसरे स्ट्रिंग से बदला जा सकता है। यह टाइपो सुधार, डेटा सफाई के लिए उपयोगी है। सिंटैक्स REPLACE(column_name, old_string, new_string) उदाहरण तालिका बनाएं और डेटा डालें (टाइपो के साथ): mysql> CREATE TABLE DemoTable (Name VA

  1. - MySQL टेबल को बैच अपडेट कैसे करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(7:30:45); Query OK, 1 row affected (0.19 sec) mysql> insert i

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |