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

MySQL-এ AUTO_INCREMENT আইডিকে ZEROFILL দিয়ে '001' ফরম্যাটে শুরু করা

AUTO_INCREMENT প্রাইমারি কীকে নির্দিষ্ট প্রস্থে (যেমন ৩ অঙ্ক) লিডিং জিরো সহ দেখাতে ZEROFILL এবং ALTER TABLE ... CHANGE ব্যবহার করা হয়।

টেবিল তৈরি

mysql> CREATE TABLE DemoTable1958 (
    UserId INT,
    UserName VARCHAR(20)
);

ALERT TABLE দিয়ে ZEROFILL + AUTO_INCREMENT যোগ করা

mysql> ALTER TABLE DemoTable1958
    CHANGE UserId UserId INT(3) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY;

প্যারামিটার ব্যাখ্যা:

  • INT(3) — প্রদর্শন প্রস্থ ৩ অঙ্ক।
  • UNSIGNED — নন-নেগেটিভ (ZEROFILL এর জন্য বাধ্যতামূলক)।
  • ZEROFILL — বামে ০ প্যাড করে ৩ অঙ্ক দেখাবে (001, 002...)।
  • NOT NULL AUTO_INCREMENT PRIMARY KEY — স্ট্যান্ডার্ড PK ডিক্লারেশন।

টেবিল কাঠামো যাচাই

mysql> DESC DemoTable1958;
+----------+--------------------------+------+-----+---------+----------------+
| Field    | Type                     | Null | Key | Default | Extra          |
+----------+--------------------------+------+-----+---------+----------------+
| UserId   | int(3) unsigned zerofill | NO   | PRI | NULL    | auto_increment |
| UserName | varchar(20)              | YES  |     | NULL    |                |
+----------+--------------------------+------+-----+---------+----------------+

ডেটা ইনসার্ট

mysql> INSERT INTO DemoTable1958 (UserName) VALUES ('Chris'), ('David');

ফলাফল

mysql> SELECT * FROM DemoTable1958;
+--------+----------+
| UserId | UserName |
+--------+----------+
|    001 | Chris    |
|    002 | David    |
+--------+----------+

গুরুত্বপূর্ণ সীমাবদ্ধতা

  • INT(3) হলো **প্রদর্শন প্রস্থ** — সংরক্ষণ হয় নরমাল ইন্টিজার। ৯৯৯ এর পর ১০০০ হবে (৪ অঙ্ক), ZEROFILL ৪ অঙ্ক দেখাবে (1000)।
  • স্টোরেজে কোনো পরিবর্তন হয় না — শুধু ক্লায়েন্ট-সাইড ফরম্যাটিং।
  • অ্যাপ্লিকেশন লেয়ারে ফরম্যাটিং (LPAD, printf) করা অধিকतर ক্ষেত্রে ভালো অনুশীলন।

বিকল্প: ভিউ বা SELECT-এ ফরম্যাট

SELECT LPAD(UserId, 3, '0') AS UserId_Formatted, UserName FROM DemoTable1958;
  1. MySQL-এ RAND() এবং LIMIT দিয়ে র‍্যান্ডম রো বের করা

  2. MySQL-এ টেবিল থেকে সমান বা নিকটতম বড় সংখ্যা বের করা

  3. MySQL에서 데이터 삭제 후 AUTO_INCREMENT를 1부터 다시 시작하려면 TRUNCATE

  4. MySQL-এ স্টোরড প্রসিডিউর থেকে টেবিলের সব রেকর্ড দেখানো