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' স্ট্রিং হিসেবে এবং ১ সংখ্যা হিসেবে (কোটেশন ছাড়া) ইনসার্ট করা হয়েছে। MySQL বিভ্রান্তকরভাবে আমাদের সংখ্যা ইনপুটকে সূচক মান হিসেবে ব্যবহার করেছে (অর্থাৎ তালিকার প্রথম আইটেম '0'-এর রেফারেন্স)।