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

MySQL-এ ALTER TABLE ব্যবহার করে কম্পোজিট প্রাইমারি কী যোগ করা

কম্পোজিট প্রাইমারি কী যোগ করতে ALTER TABLE কমান্ড ব্যবহার করা হয়।

টেবিল তৈরি

mysql> CREATE TABLE CompositePrimaryKey (
    -> Id INT,
    -> StudentName VARCHAR(100),
    -> Age INT
    -> );
Query OK, 0 rows affected (0.56 sec)

DESC দিয়ে বর্তমান কী যাচাই করি:

mysql> DESC CompositePrimaryKey;

আউটপুট:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| StudentName | varchar(100) | YES  |     | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.09 sec)

Key কলামে কোনো PRI নেই, অর্থাৎ প্রাইমারি কী নেই।

কম্পোজিট প্রাইমারি কী যোগ করা

mysql> ALTER TABLE CompositePrimaryKey ADD PRIMARY KEY(Id, StudentName);
Query OK, 0 rows affected (1.26 sec)
Records: 0 Duplicates: 0 Warnings: 0

যাচাই:

mysql> DESC CompositePrimaryKey;

আউটপুট:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | NO   | PRI | NULL    |       |
| StudentName | varchar(100) | NO   | PRI | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

এখন Id এবং StudentName উভয় কলামেই PRI দেখা যাচ্ছে, অর্থাৎ কম্পোজিট প্রাইমারি কী সফলভাবে যোগ হয়েছে।

  1. MySQL-এ ON DUPLICATE KEY UPDATE-এর জন্য কনস্ট্রেইন্ট যোগ করা

  2. MySQL-এ প্রাইমারি কী রিসেট করা (TRUNCATE + ALTER TABLE)

  3. MySQL-এ প্রাইমারি কীকে অন্য টেবিলে ফরেন কী হিসেবে রেফার করা

  4. অ্যাক্সেস টেবিলে প্রাইমারি কী যোগ বা রিমুভ করার পদ্ধতি