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

MySQL-এ ERROR 1062 (23000): Duplicate Entry এর কারণ ও সমাধান

MySQL-এ ERROR 1062 (23000): Duplicate entry এরর তখন দেখায় যখন UNIQUE কী বা PRIMARY KEY কলামে ডুপ্লিকেট মান ইনসার্ট করার চেষ্টা করা হয়।

ইউনিক কম্পোজিট কীসহ টেবিল তৈরি

mysql> CREATE TABLE DemoTable776 (
    FirstValue INT,
    SecondValue INT,
    UNIQUE KEY (FirstValue, SecondValue)
);
Query OK, 0 rows affected (0.74 sec)

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

mysql> INSERT INTO DemoTable776 VALUES (10, 20);
Query OK, 1 row affected (0.16 sec)

mysql> INSERT INTO DemoTable776 VALUES (10, 40);
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO DemoTable776 VALUES (40, 20);
Query OK, 1 row affected (0.26 sec)

mysql> INSERT INTO DemoTable776 VALUES (10, 20);
ERROR 1062 (23000): Duplicate entry '10-20' for key 'FirstValue'

রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable776;

আউটপুট (ডুপ্লিকেট ইনসার্ট হয়নি):

+------------+-------------+
| FirstValue | SecondValue |
+------------+-------------+
| 10         | 20          |
| 10         | 40          |
| 40         | 20          |
+------------+-------------+
3 rows in set (0.00 sec)

কারণ ও সমাধান

INSERT IGNORE উদাহরণ

INSERT IGNORE INTO DemoTable776 VALUES (10, 20); -- এরর দিবে না, স্লেন্তলি স্কিপ করবে

ON DUPLICATE KEY UPDATE

INSERT INTO DemoTable776 VALUES (10, 20) 
ON DUPLICATE KEY UPDATE SecondValue = 20;
  1. MySQL-এ INSERT… ON DUPLICATE KEY UPDATE বাস্তবায়ন

  2. MySQL-এ আপডেট কমান্ড কেন তির্যক একক উদ্ধৃতি ব্যবহার করার জোর দেয়?

  3. MySQL-এ ভিন্ন ডেটা টাইপ (স্ট্রিং এবং ইন্টিজার) তুলনা করলে ত্রুটি কেন হয় না?

  4. MySQL-এ INSERT ... ON DUPLICATE KEY UPDATE ব্যবহার করে এন্ট্রি থাকলে আপডেট করা

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
কারণসমাধান
ইউনিক কী/প্রাইমারি কীতে ডুপ্লিকেট মানইনসার্ট করার আগে SELECT দিয়ে চেক করুন
AUTO_INCREMENT মান ম্যানুয়ালি সেট করাAUTO_INCREMENT কলামে মান দিয়ে ইনসার্ট করবেন না
IGNORE কিওয়ার্ড ছাড়া ডুপ্লিকেট ইনসার্টINSERT IGNORE বা ON DUPLICATE KEY UPDATE ব্যবহার করুন