لعمود قيمه من قائمة محددة مسبقًا، مثل الأدوار، يناسب النوع ENUM:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
role ENUM('admin', 'superAdmin', 'author', 'subscriber') DEFAULT 'subscriber'
);
قاعدة البيانات ترفض أي قيمة خارج القائمة، فتمنع أخطاء مثل 'Admin ' أو 'autor'.
متى لا أستخدم ENUM؟
إذا كانت الأدوار تتغير كثيرًا، أو تحتاج معلومات إضافية لكل دور (مثل الصلاحيات)، فالأفضل جدول أدوار منفصل يُربط بالمستخدم:
CREATE TABLE roles (id INT PRIMARY KEY, name VARCHAR(50));
-- users.role_id INT