কম্পিউটার

কেন আমরা একটি MySQL ENUM কলামে একটি সংখ্যা সংরক্ষণ করব না?


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)।


  1. MySQL-এর একটি কলামে NULL বা NOT NULL মান পরীক্ষা করুন

  2. MySQL-এ বিদ্যমান কলামে NOT NULL অ্যাট্রিবিউট সেট করুন

  3. কলাম মানের জন্য MySQL-এ ENUM সেট করুন

  4. একটি MySQL সঞ্চিত পদ্ধতির ভেরিয়েবলে একটি কলামের মান সংরক্ষণ করুন