MySQL में ऑटो-इन्क्रीमेंट कॉलम को अग्रणी शून्य के साथ प्रदर्शित करने (जैसे 001, 002, 003) के लिए, ZEROFILL एट्रिब्यूट के साथ ALTER TABLE ... CHANGE का उपयोग करें। यह आंतरिक रूप से संख्यात्मक रहता है लेकिन डिस्प्ले में पैडेड होता है।
उदाहरण: मौजूदा टेबल को ZEROFILL में बदलना
सामान्य टेबल बनाएं:
mysql> CREATE TABLE DemoTable1958 (
UserId INT,
UserName VARCHAR(20)
);
CHANGE के साथ कॉलम परिभाषा बदलें:
mysql> ALTER TABLE DemoTable1958 CHANGE UserId UserId INT(3) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY;
टेबल विवरण चेक करें:
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');
आउटपुट (001, 002 फॉर्मेट):
+--------+----------+ | UserId | UserName | +--------+----------+ | 001 | Chris | | 002 | David | +--------+----------+
मुख्य बिंदु
INT(3): डिस्प्ले चौड़ाई 3 (ZEROFILL के लिए आवश्यक)UNSIGNED: ZEROFILL अंतर्निहित रूप से UNSIGNED बनाता है (ऋणात्मक नहीं)ZEROFILL: बाएं पैड करता है शून्य सेNOT NULL AUTO_INCREMENT PRIMARY KEY: मानक PK परिभाषा- CHANGE: कॉलम नाम दो बार (पुराना नया) आवश्यक है
चौड़ाई और क्षमता
| परिभाषा | अधिकतम मान | डिस्प्ले उदाहरण |
|---|---|---|
| INT(3) ZEROFILL | 999 | 001, 099, 999 |
| INT(5) ZEROFILL | 99999 | 00001, 00123 |
| INT(6) ZEROFILL | 999999 | 000001 |