কম্পিউটার

আমি একই কলামে একাধিকবার একটি অনন্য সীমাবদ্ধতা যোগ করলে কী হবে?


যখন আমরা একই কলামে একাধিকবার একটি অনন্য সীমাবদ্ধতা যুক্ত করব তখন MySQL সেই কলামে সূচী তৈরি করবে যে অনেকবার আমরা অনন্য সীমাবদ্ধতা যুক্ত করেছি৷

উদাহরণ

ধরুন আমাদের টেবিলটি 'কর্মচারী' আছে যেখানে আমাদের 'এমপিড' কলামে অনন্য সীমাবদ্ধতা রয়েছে। এটি নিম্নলিখিত ক্যোয়ারী −

আকারে চেক করা যেতে পারে
mysql> Describe employee;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| empid      | int(11)     | YES  | UNI | NULL    |       |
| first_name | varchar(20) | YES  |     | NULL    |       |
| last_name  | varchar(20) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.12 sec)

এখন, যখন আমরা ক্যোয়ারীটি SHOW INDEX চালাই, তখন এটি সূচকের নাম দেয়, শুধুমাত্র একটি সূচক, কলাম 'empid'-এ তৈরি৷

mysql> Show index from employee\G;
*************************** 1. row ***************************
        Table: employee
   Non_unique: 0
     Key_name: empid
 Seq_in_index: 1
  Column_name: empid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
1 row in set (0.00 sec)

নিম্নলিখিত প্রশ্নের সাহায্যে আমরা একই কলাম 'empid' -

-এ আরও একটি অনন্য সীমাবদ্ধতা যোগ করেছি
mysql> Alter table employee ADD UNIQUE(empid);
Query OK, 0 rows affected (0.21 sec)
Records: 0 Duplicates: 0 Warnings: 0

এখন, যখন আমরা ক্যোয়ারীটি SHOW INDEX চালাই, তখন এটি ইনডেক্সের নাম দেয়, দুটি সূচী 'empid' এবং 'empid_2', 'empid' কলামে তৈরি৷

mysql> Show index from employee12\G;
*************************** 1. row ***************************
        Table: employee
   Non_unique: 0
     Key_name: empid
 Seq_in_index: 1
  Column_name: empid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
*************************** 2. row ***************************
        Table: employee
   Non_unique: 0
     Key_name: empid_2
 Seq_in_index: 1
  Column_name: empid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
2 rows in set (0.00 sec)

নিম্নলিখিত প্রশ্নের সাহায্যে আমরা একই কলাম 'empid' -

-এ আরও একটি অনন্য সীমাবদ্ধতা যোগ করেছি
mysql> Alter table employee ADD UNIQUE(empid);
Query OK, 0 rows affected (0.21 sec)
Records: 0 Duplicates: 0 Warnings: 0

এখন, যখন আমরা ক্যোয়ারীটি SHOW INDEX চালাই, তখন এটি সূচকের নাম দেয়, তিনটি সূচী 'empid' এবং 'empid_2', 'empid_3' কলাম 'empid'-এ তৈরি করা হয়েছে৷

mysql> Alter table employee ADD UNIQUE(empid);
Query OK, 0 rows affected (0.30 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> Show index from employee\G;
*************************** 1. row ***************************
        Table: employee
   Non_unique: 0
     Key_name: empid
 Seq_in_index: 1
  Column_name: empid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
*************************** 2. row ***************************
        Table: employee
   Non_unique: 0
     Key_name: empid_2
 Seq_in_index: 1
  Column_name: empid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
*************************** 3. row ***************************
        Table: employee
   Non_unique: 0
     Key_name: empid_3
 Seq_in_index: 1
  Column_name: empid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
3 rows in set (0.00 sec)

এই অর্থে, আমরা বলতে পারি যে MySQL কলামের সংখ্যায় অনন্য সূচক তৈরি করবে যতবার আমরা সেই কলামে অনন্য সীমাবদ্ধতা যোগ করেছি।


  1. আমরা সদৃশ মান সহ অনন্য এবং একাধিক সন্নিবেশ সেট করলে কী হবে

  2. মাইএসকিউএল-এ একই সময়ে একাধিক ডেটা ইনপুট?

  3. কি হবে যদি আমরা একটি C প্রোগ্রামে দুইবার হেডার ফাইল অন্তর্ভুক্ত করি?

  4. C# এ তালিকা সাজানোর পদ্ধতি কি?