কম্পিউটার টিউটোরিয়াল

PHP দিয়ে MySQL ENUM কলামের সম্ভাব্য মানগুলো বের করা

MySQL-এ ENUM কলামের সব সম্ভাব্য মান জানতে INFORMATION_SCHEMA.COLUMNS টেবিল কোয়েরি করুন।

সিনট্যাক্স

SELECT COLUMN_TYPE AS AllPossibleEnumValues
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourDatabaseName'
  AND TABLE_NAME = 'yourTableName'
  AND COLUMN_NAME = 'yourEnumColumnName';

উদাহরণ

ENUM টেবিল তৈরি:

CREATE TABLE EnumDemo (
    Id INT,
    Color ENUM('RED', 'GREEN', 'BLUE', 'BLACK', 'ORANGE')
);

কোয়েরি চালান:

SELECT COLUMN_TYPE AS AllPossibleEnumValues
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'sample'
  AND TABLE_NAME = 'EnumDemo'
  AND COLUMN_NAME = 'Color';

আউটপুট

+---------------------------------------------+
| AllPossibleEnumValues                       |
+---------------------------------------------+
| enum('RED','GREEN','BLUE','BLACK','ORANGE') |
+---------------------------------------------+

PHP-এ পার্স করার উদাহরণ

$result = $mysqli->query("SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE TABLE_SCHEMA='sample' AND TABLE_NAME='EnumDemo' AND COLUMN_NAME='Color'");
$row = $result->fetch_assoc();
$enumStr = $row['COLUMN_TYPE']; // "enum('RED','GREEN','BLUE','BLACK','ORANGE')"

// মানগুলো এক্সট্র্যাক্ট করুন
preg_match_all("/'([^']+)'/", $enumStr, $matches);
$enumValues = $matches[1]; // ['RED', 'GREEN', 'BLUE', 'BLACK', 'ORANGE']
print_r($enumValues);

টিপ: PHP-এ রেজেক্স বা স্ট্রিং ফাংশন দিয়ে ENUM মানগুলো সহজে অ্যারে-তে রূপান্তর করা যায়।

  1. MySQL-এ আড়াঝাঁপি (Horizontal) কালামের ভ্যালু গণনা করুন

  2. MySQL-এ SET ফিল্ডের সম্ভাব্য ভ্যালুগুলো জানা

  3. MySQL-এ নির্দিষ্ট ৩টি মানের জন্য একটি কলাম তৈরি করা (ENUM টাইপ)

  4. MySQL-এ JOIN ব্যবহার করে অন্য টেবিল থেকে ID দিয়ে Username বের করা