انتقل إلى محتوى الدرس

NULL Logic in CHECK Constraints سلوك NULL مع قيد CHECK

تعلّم قيد التحقق الشرطي CHECK على قيم الصفوف في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يعتمد SQL منطق التقييم الثلاثي: TRUE وFALSE وUNKNOWN (عند وجود NULL). ولا يرفض قيد CHECK الصف إلا إذا كانت النتيجة FALSE صراحةً؛ أما نتيجة UNKNOWN الناتجة عن NULL فتُقبل! لذلك اجمع دائماً بين NOT NULL وCHECK للأعمدة الإلزامية:

SQL
CREATE TABLE course_reviews (
    review_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    rating TINYINT UNSIGNED NOT NULL,
    bonus_points TINYINT UNSIGNED NULL,
    PRIMARY KEY (review_id),
    CONSTRAINT chk_rating CHECK (rating >= 1 AND rating <= 5),
    CONSTRAINT chk_bonus_cap CHECK (bonus_points <= 10)
);