MySQL-এ AUTO_INCREMENT শুরু মান এবং ZEROFILL এট্রিবিউট সেট করে কলাম তৈরি করলে, ইনসার্টের সময় মান না দিলে স্বয়ংক্রিয় সংখ্যা জেনারেট হয় এবং বাম পাশে শূন্য দিয়ে প্যাড করা হয়।
টেবিল তৈরি (AUTO_INCREMENT=100, ZEROFILL)
mysql> CREATE TABLE DemoTable (
StudentId INT(7) ZEROFILL NOT NULL AUTO_INCREMENT,
PRIMARY KEY (StudentId)
) AUTO_INCREMENT = 100;
Query OK, 0 rows affected (0.48 sec)
মান না দিয়ে ইনসার্ট (৪ বার)
mysql> INSERT INTO DemoTable VALUES (); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO DemoTable VALUES (); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO DemoTable VALUES (); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO DemoTable VALUES (); Query OK, 1 row affected (0.09 sec)
রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
ফলাফল (১০০ থেকে শুরু, ৭ ডিজিটে ZEROFILL):
+-----------+ | StudentId | +-----------+ | 0000100 | | 0000101 | | 0000102 | | 0000103 | +-----------+ 4 rows in set (0.00 sec)
ব্যাখ্যা
INT(7) ZEROFILL- ৭ ডিজিটের চেয়ে ছোট হলে বামে ০ দিয়ে পূরণ (UNSIGNED বাধ্যতামূলক)۔AUTO_INCREMENT = 100- পরবর্তী অটো-ইনক্রিমেন্ট মান ১০০।- প্রথম ইনসার্ট ১০০ পায়, তারপর ১০১, ১০২, ১০৩।
- প্রদর্শনে ৭ ডিজিট: 0000100, 0000101, ...
সতর্কতা ও ডিপ্রিকেশন
ZEROFILLMySQL 8.0.17-এ ডিপ্রিকেটেড (ভবিষ্যতে মুছে যাবে)। অ্যাপ্লিকেশন লেভেলে ফরম্যাট করুন।INT(N)-এ N শুধু ডিসপ্লে ವIDTH, স্টোরেজ রেঞ্জ নয়।- বড় সংখ্যার জন্য
BIGINTব্যবহার করুন।