MySQL ENUM मानों को आंतरिक रूप से पूर्णांक कुंजी (इंडेक्स नंबर) के रूप में संग्रहीत करता है ताकि ENUM सदस्यों को संदर्भित किया जा सके। ENUM कॉलम में पूर्णांक मान स्टोर न करने का मुख्य कारण यह है कि यह बहुत स्पष्ट है कि MySQL अंत में हमारे नंबर इनपुट को इंडेक्स मान के रूप में यानी सदस्य सूची में पहले आइटम के आंतरिक संदर्भ के रूप में उपयोग करता है।
उदाहरण
निम्नलिखित उदाहरण इसे स्पष्ट कर सकता है:
mysql> Create table enmtest(Val ENUM('0','1','2')); Query OK, 0 rows affected (0.18 sec)
mysql> Insert into enmtest values('1'),(1); Query OK, 2 rows affected (0.19 sec) Records: 2 Duplicates: 0 Warnings: 0
mysql> Select * from enmtest;
+-----+
| Val |
+-----+
| 1 |
| 0 |
+-----+
2 rows in set (0.00 sec)
यहां, हमने '1' को स्ट्रिंग के रूप में डाला और गलती से 1 को नंबर के रूप में भी डाल दिया (बिना कोट्स के)। MySQL भ्रमित होकर हमारे नंबर इनपुट को इंडेक्स मान के रूप में उपयोग करता है यानी सदस्य सूची में पहले आइटम का आंतरिक संदर्भ (यानी 0)।