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

MySQL-এ UNIQUE কনস্ট্রেইন্ট ব্যবহার করে রো ইউনিক নিশ্চিত করুন

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

উদাহরণ

১. টেবিল তৈরি করুন

mysql> CREATE TABLE DemoTable1580 (
    -> id INT,
    -> Name VARCHAR(20),
    -> Age INT
    -> );

২. কম্পোজিট ইউনিক ইনডেক্স যোগ করুন

mysql> ALTER TABLE DemoTable1580 ADD UNIQUE INDEX(id, Name, Age);

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

mysql> INSERT INTO DemoTable1580 VALUES(101, 'Chris', 21);  -- OK
mysql> INSERT INTO DemoTable1580 VALUES(102, 'Chris', 21);  -- OK (id ভিন্ন)
mysql> INSERT INTO DemoTable1580 VALUES(102, 'David', 21); -- OK (Name ভিন্ন)
mysql> INSERT INTO DemoTable1580 VALUES(101, 'Chris', 21); -- ERROR! (id+Name+Age সব মিলে)

এরর: ERROR 1062 (23000): Duplicate entry '101-Chris-21' for key 'id'

৪. সফলভাবে ইনসার্ট হওয়া রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable1580;

আউটপুট:

+------+-------+------+
| id   | Name  | Age  |
+------+-------+------+
| 101  | Chris | 21   |
| 102  | Chris | 21   |
| 102  | David | 21   |
+------+-------+------+

মূল পয়েন্ট:

  • UNIQUE INDEX(col1, col2, col3) - তিনটি কলামের কম্বিনেশন ইউনিক হবে।
  • একক কলাম ইউনিক করতে: UNIQUE (col_name) বা col_name INT UNIQUE।
  • INSERT IGNORE বা ON DUPLICATE KEY UPDATE ব্যবহার করে ডুপ্লিকেট এরর হ্যান্ডেল করুন।
  • প্রাইমারি কী আটোমেটিক্যালি ইউনিক এবং নন-নাল।
  1. MySQL ENUM মানগুলো কীভাবে সর্ট হয়?

  2. MySQL কমান্ড ইনপুট করার সময় কিভাবে ক্যান্সেল করবেন

  3. MySQL-এ একটি টেবিলের সারি যেটি অন্য টেবিলে নেই সেগুলো কীভাবে বের করবেন?

  4. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?