ما القيد الذي يمنع تكرار القيم في عمود SQL؟ (UNIQUE)

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

قواعد البيانات

الإجابة

القيد UNIQUE يضمن أن قيمة العمود لا تتكرر في أي صفين:

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  email VARCHAR(255) UNIQUE
);

إذا حاولت إضافة بريد موجود مسبقًا، ترفض قاعدة البيانات العملية بخطأ.

إضافته لجدول موجود

ALTER TABLE users ADD UNIQUE (email);

UNIQUE أم PRIMARY KEY؟

  • PRIMARY KEY: واحد فقط في الجدول، ولا يقبل NULL.
  • UNIQUE: يمكن أن يكون أكثر من واحد في الجدول.

وباقي القيود: DEFAULT قيمة افتراضية، وAUTO_INCREMENT ترقيم تلقائي، وFOREIGN KEY ربط بجدول آخر.

اختبر فهمك

أي قيد (Constraint) في SQL يضمن أن قيمة العمود فريدة ولا تتكرر في أي صف؟