हम एक उदाहरण देखेंगे और एक टेबल बनाएंगे जहां हमने StudentId कॉलम को 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)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। अब, जब कुछ नहीं डाला जाता, तो मान 101 से शुरू होगा (auto_increment) और बाएं के शेष स्थान 0 से भर जाएंगे क्योंकि हमने टेबल बनाते समय ZEROFILL सेट किया है:
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;
यह निम्नलिखिक आउटपुट देगा:
+-----------+ | StudentId | +-----------+ | 0000100 | | 0000101 | | 0000102 | | 0000103 | +-----------+ 4 rows in set (0.00 sec)
व्याख्या
int(7) ZEROFILL- 7 अंकों की चौड़ाई, बाएं पैडिंग शून्य सेAUTO_INCREMENT=100- अगला मान 100 से शुरूINSERT VALUES()- कोई मान नहीं दिया, ऑटो-इन्क्रीमेंट उपयोग होता है- पहला INSERT: 100 → 0000100 (7 अंक)
- दूसरा: 101 → 0000101, आदि
ZEROFILLस्वचालित रूप सेUNSIGNEDजोड़ता है
महत्वपूर्ण नोट
ZEROFILL केवल प्रदर्शन प्रभावित करता है, संग्रहण नहीं- अंक गणना में चिह्न शामिल नहीं (UNSIGNED के कारण)
- MySQL 8.0.17+ में ZEROFILL डिप्रिकेटेड है; एप्लिकेशन लेयर में फॉर्मेट करें
- अधिकतम डिस्प्ले चौड़ाई 255 है (int के लिए 11 डिफ़ॉल्ट)