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

MySQL-এ AUTO_INCREMENT মান পরিবর্তন করে অন্য সংখ্যা থেকে শুরু করা


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 হবে।

ব্যবহার ক্ষেত্র: ডেটা মাইগ্রেশন, শার্ডিং, মাল্টি-মাস্টার রিপ্লিকেশন (অফসেট দিয়ে), টেস্ট ডেটা জেনারেশন।

  1. MySQL-এ দিনের সংখ্যা গণনা করুন

  2. MySQL-এ ENUM কলাম থেকে একটি মান মুছে ফেলা (ALTER TABLE)

  3. MySQL-এ অটো-ইনক্রিমেন্ট মান ১ থেকে শুরু করার পদ্ধতি

  4. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল ব্যবহার করে এক কলাম থেকে অন্য কলামের মান ডিরাইভ করা (রানিং টোটাল)