কম্পিউটার টিউটোরিয়াল

MySQL-এ ডুপ্লিকেট বাদ দিয়ে শুধু নতুন রেকর্ড ইনসার্ট করা

MySQL-এ ডুপ্লিকেট এন্ট্রি রোধ করে শুধু ইউনিক রেকর্ড ইনসার্ট করতে কলামে UNIQUE INDEX তৈরি করতে হয়।

টেবিল তৈরি

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FirstName VARCHAR(20)
    -> );

FirstName কলামে ইউনিক ইনডেক্স তৈরি

mysql> CREATE UNIQUE INDEX index_on_FirstName 
    -> ON DemoTable(FirstName);

ডেটা ইনসার্ট (ডুপ্লিকেট চেক সহ)

mysql> INSERT INTO DemoTable(FirstName) VALUES('Chris');  -- OK
mysql> INSERT INTO DemoTable(FirstName) VALUES('Chris');  -- ERROR 1062: Duplicate entry
mysql> INSERT INTO DemoTable(FirstName) VALUES('Robert'); -- OK
mysql> INSERT INTO DemoTable(FirstName) VALUES('Mike');   -- OK
mysql> INSERT INTO DemoTable(FirstName) VALUES('Robert'); -- ERROR 1062: Duplicate entry

ফাইনাল ডেটা

mysql> SELECT * FROM DemoTable;
+----+-----------+
| Id | FirstName |
+----+-----------+
|  1 | Chris     |
|  2 | Robert    |
|  3 | Mike      |
+----+-----------+

বিকল্প পদ্ধতি: MySQL 8.0+ এ INSERT IGNORE বা ON DUPLICATE KEY UPDATE ব্যবহার করেও ডুপ্লিকেট হ্যান্ডল করা যায়।

-- ডুপ্লিকেট হলে ইনগোর করবে
INSERT IGNORE INTO DemoTable(FirstName) VALUES('Chris');

-- ডুপ্লিকেট হলে আপডেট করবে
INSERT INTO DemoTable(FirstName) VALUES('Chris') 
ON DUPLICATE KEY UPDATE FirstName='Chris';
  1. Java-MySQL 연동: 단일 컬럼만 INSERT하기

  2. MySQL에서 NULL이 아닌 레코드만 조회하기 (IS NOT NULL)

  3. MySQL-এ NOT IN ক্লজ ব্যবহার করে নির্দিষ্ট মান বাদ দিয়ে ডেটা বের করা

  4. MySQL-এ টেবিলের অস্তিত্ব যাচাই করা