MySQL-এ AUTO_INCREMENT কলামে NULL দিয়ে অটো মান জেনারেট করানো
MySQL-এ যদি কোনো কলাম AUTO_INCREMENT এবং PRIMARY KEY হয়, তবে ইনসার্টের সময় সেই কলামের জন্য NULL (বা 0, বা কলামটি বাদ দিয়ে) দেওয়া যাবে — MySQL অটোমেটিকভাবে পরবর্তী ইউনিক মান জেনারেট করবে।
উদাহরণ
টেবিল তৈরি:
CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentFirstName VARCHAR(100),
StudentAge INT
);
NULL দিয়ে ইনসার্ট (AUTO_INCREMENT কলাম স্কিপ)
INSERT INTO DemoTable VALUES (NULL, 'Robert', 21);
INSERT INTO DemoTable VALUES (NULL, 'Sam', 22);
INSERT INTO DemoTable VALUES (NULL, 'Bob', 24);
INSERT INTO DemoTable VALUES (NULL, 'Carol', 20);
ফলাফল যাচাই
SELECT * FROM DemoTable;
আউটপুট:
+-----------+------------------+------------+
| StudentId | StudentFirstName | StudentAge |
+-----------+------------------+------------+
| 1 | Robert | 21 |
| 2 | Sam | 22 |
| 3 | Bob | 24 |
| 4 | Carol | 20 |
+-----------+------------------+------------+
বিকল্প পদ্ধতিসমূহ
INSERT INTO DemoTable (StudentFirstName, StudentAge) VALUES ('Robert', 21);— কলাম নাম নির্দিষ্ট করে AUTO_INCREMENT কলাম বাদ দিন।INSERT INTO DemoTable VALUES (0, 'Robert', 21);— ০ দিয়েও কাজ করে (NO_AUTO_VALUE_ON_ZERO SQL মোড অফ থাকলে)।
সর্বোত্তম অনুশীলন: কলামের তালিকা স্পষ্টভাবে লিখুন (INSERT INTO table (col1, col2) ...) — এটি কোডকে আরও রোবাস্ট এবং রক্ষণাবেক্ষণযোগ্য করে।