ต่อไปนี้เป็นข้อจำกัดของ MySQL ENUM -
ค่าการแจงนับไม่สามารถเป็นนิพจน์ได้
เราไม่สามารถใช้นิพจน์เป็นสมาชิกการแจงนับได้ แม้แต่นิพจน์ที่ประเมินเป็นค่าสตริง
ตัวอย่าง
ตัวอย่างเช่น เราสามารถใช้ฟังก์ชัน CONCAT ที่นำไปสู่การประเมินสตริงได้
แบบสอบถามต่อไปนี้ใช้ไม่ได้ -
mysql> create table limit_enum(number ENUM('one', 'two', CONCAT('t','wo'));
ไม่สามารถใช้ตัวแปรผู้ใช้เป็นสมาชิกการแจงนับได้
ข้อจำกัดอีกประการหนึ่งคือ เราไม่สามารถใช้ตัวแปรผู้ใช้เป็นสมาชิกการแจงนับได้ ดังนั้นแบบสอบถามต่อไปนี้จะไม่ทำงาน -
mysql> SET @mynumber = 'two'; Query OK, 0 rows affected (0.04 sec) mysql> Create table limit_enum(number ENUM('one', @mynumber, 'three'));