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

MySQL-এ প্রাইমারি কি কে AUTO_INCREMENT-এ রূপান্তর করা


MySQL-এ ALTER TABLE MODIFY দিয়ে প্রাইমারি কি অটো ইনক্রিমেন্ট করা

বিদ্যমান প্রাইমারি কি কলামকে AUTO_INCREMENT করতে ALTER TABLE ... MODIFY COLUMN ব্যবহার করা হয়। কলামটি NOT NULL PRIMARY KEY থাকতে হয়।

সিনট্যাক্স

ALTER TABLE yourTableName 
MODIFY yourPkColumn INT AUTO_INCREMENT;

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি (প্রাইমারি কি কিন্তু AUTO_INCREMENT নেই):

mysql> CREATE TABLE changePrimaryKeyInAutoIncrement (
    -> StudentId INT NOT NULL PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT,
    -> StudentAddress VARCHAR(100)
    -> );

বর্তমান কোলাম ইনফো:

mysql> DESC changePrimaryKeyInAutoIncrement;
+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| StudentId      | int(11)      | NO   | PRI | NULL    |       |
| StudentName    | varchar(100) | YES  |     | NULL    |       |
| StudentAge     | int(11)      | YES  |     | NULL    |       |
| StudentAddress | varchar(100) | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

MODIFY দিয়ে AUTO_INCREMENT যোগ করি:

mysql> ALTER TABLE changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT;

পরিবর্তনের পর:

mysql> DESC changePrimaryKeyInAutoIncrement;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| StudentId      | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName    | varchar(100) | YES  |     | NULL    |                |
| StudentAge     | int(11)      | YES  |     | NULL    |                |
| StudentAddress | varchar(100) | YES  |     | NULL    |                |
+----------------+-------------+------+-----+---------+----------------+

দ্রষ্টব্য: Extra কলামে auto_increment দেখায় সেটি সক্রিয় হয়েছে। ইনসার্টের সময় Id দিলে সেটি ব্যবহার হবে, না দিলে অটো বেড়বে।

  1. MySQL에서 기본 키(Primary Key) 삭제하기

  2. MySQL-এ INFORMATION_SCHEMA ব্যবহার করে কোন কলাম PRIMARY KEY সেটা যাচাই করা

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

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