شرح صفوف ومحتوى الفقرة
يضمن قيد التفرد UNIQUE عدم تكرار أي قيمة غير فارغة داخل العمود (أو مجموعة الأعمدة) على مستوى الجدول بأكمله. وعند محاولة تخزين قيمة موجودة مسبقاً، يوقف محرك InnoDB العملية فوراً بالخطأ القياسي Error 1062 (23000): Duplicate entry for key:
- تعدد قيود UNIQUE في الجدول الواحد: يمكن للجدول أن يضم عدة أعمدة فريدة مستقلة في آنٍ واحد (مثل اسم المستخدم، والبريد الإلكتروني، والرقم الوطني).
- إنشاء فهرس B+Tree تلقائياً: ينشئ MySQL خلف الكواليس فهرساً فريداً لكل قيد
UNIQUEللتحقق اللحظي من عدم التكرار دون فحص الجدول كاملاً.
SQL
CREATE TABLE users (
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(150) NOT NULL UNIQUE,
referral_code VARCHAR(20) NULL UNIQUE
);