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 দিলে সেটি ব্যবহার হবে, না দিলে অটো বেড়বে।