MySQL-এ AUTO_INCREMENT শুরুর মান পরিবর্তন করা
MySQL-এ AUTO_INCREMENT ডিফল্টভাবে ১ থেকে শুরু হয়। ALTER TABLE ... AUTO_INCREMENT = N ব্যবহার করে পরবর্তী অটো-জেনারেট হওয়া মান নির্দিষ্ট করা যায়। টেবিল তৈরির সময়ও AUTO_INCREMENT = N দিয়ে শুরু করা যায়।
উদাহরণ
টেবিল তৈরি (ডিফল্ট ১ থেকে):
CREATE TABLE DemoTable (
UniqueNumber INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (UniqueNumber)
);
INSERT INTO DemoTable VALUES (), (), (), (); -- 1,2,3,4
AUTO_INCREMENT মান ১০০০ থেকে শুরু করা
ALTER TABLE DemoTable AUTO_INCREMENT = 1000;
INSERT INTO DemoTable VALUES (), (), (); -- 1000, 1001, 1002
ফলাফল যাচাই
SELECT * FROM DemoTable;
আউটপুট:
+--------------+
| UniqueNumber |
+--------------+
| 1 |
| 2 |
| 3 |
| 4 |
| 1000 |
| 1001 |
| 1002 |
+--------------+
গুরুত্বপূর্ণ নোট
AUTO_INCREMENTমান শুধু বাড়ানো যায়, কমানো যায় না (যদি ইতিমধ্যে বড় মান থাকে)।- টেবিল খালি হলে
ALTER TABLE ... AUTO_INCREMENT = 1দিয়ে রিসেট করা যায়। TRUNCATE TABLEকরলেAUTO_INCREMENTরিসেট হয় ১-এ।- ইনসার্টের সময় স্পষ্ট মান দেওয়া থাকলে (যেমন
INSERT ... VALUES (500)) অটো-ইনক্রিমেন্ট সিকোয়েন্স প্রভাবিত হয় না, কিন্তু পরবর্তী মানMAX(existing) + 1হবে।
ব্যবহার ক্ষেত্র: ডেটা মাইগ্রেশন, শার্ডিং, মাল্টি-মাস্টার রিপ্লিকেশন (অফসেট দিয়ে), টেস্ট ডেটা জেনারেশন।