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

MySQL-এ ENUM কলাম থেকে একটি মান মুছে ফেলা (ALTER TABLE)

MySQL-এ ENUM টাইপের কলাম থেকে কোনো নির্দিষ্ট মান মুছে ফেলতে ALTER TABLE ... CHANGE কমান্ড দিয়ে নতুন ENUM লিস্ট দিতে হয় (পুরনো লিস্ট থেকে অপছন্দ মান বাদ দিয়ে)।

টেবিল তৈরি (ENUM সহ)

mysql> CREATE TABLE DemoTable (
    `Rank` ENUM('LOW', 'MEDIUM', 'HIGH')
);

প্রাথমিক ডেসক্রিপশন

+-------+-----------------------------+------+-----+---------+-------+
| Field | Type                        | Null | Key | Default | Extra |
+-------+-----------------------------+------+-----+---------+-------+
| Rank  | enum('LOW','MEDIUM','HIGH') | YES  |     | NULL    |       |
+-------+-----------------------------+------+-----+---------+-------+

'MEDIUM' মান মুছে ফেলা

mysql> ALTER TABLE DemoTable CHANGE `Rank` `Rank` ENUM('LOW', 'HIGH');
Query OK, 0 rows affected (1.19 sec)

পরিবর্তনের পর ডেসক্রিপশন

+-------+--------------------+------+-----+---------+-------+
| Field | Type               | Null | Key | Default | Extra |
+-------+--------------------+------+-----+---------+-------+
| Rank  | enum('LOW','HIGH') | YES  |     | NULL    |       |
+-------+--------------------+------+-----+---------+-------+

গুরুত্বপূর্ণ সতর্কতা:

  • যদি টেবিলে 'MEDIUM' ভ্যালুवाले রো থাকে, তবে এই কোয়েরি ফেইল করবে (Data truncation error)।
  • আপডেট করার আগে সেই রোগুলো অন্য বৈধ ভ্যালুতে (UPDATE ... SET Rank='LOW' WHERE Rank='MEDIUM') পরিবর্তন করে নিন।
  • ENUM মানগুলো কেস-ইনসেনসিটিভ কিন্তু স্টোরেজে কেস সংরক্ষিত থাকে।
  1. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবলের মানের নিকটতম রেকর্ড টেবিল থেকে রিটার্ন করা

  2. MySQL-এ অটো-ইনক্রিমেন্ট মান ১ থেকে শুরু করার পদ্ধতি

  3. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল ব্যবহার করে এক কলাম থেকে অন্য কলামের মান ডিরাইভ করা (রানিং টোটাল)

  4. C#-এ enum থেকে int মান পাওয়া