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

Multi Column Row CHECK Rules فحص عدة أعمدة بقيد CHECK

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

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

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

بينما يقتصر قيد CHECK المكتوب بجوار العمود على فحص ذلك العمود وحده، يتيح قيد CHECK المعرَّف على مستوى الجدول المقارنة بين عدة أعمدة في نفس السجل، مثل ضمان أن سعر التخفيض لا يتجاوز السعر الأصلي، أو أن تاريخ الانتهاء لا يسبق تاريخ البداية:

SQL
CREATE TABLE promo_campaigns (
    campaign_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    regular_price DECIMAL(10, 2) NOT NULL,
    sale_price DECIMAL(10, 2) NOT NULL,
    start_date DATE NOT NULL,
    end_date DATE NOT NULL,
    PRIMARY KEY (campaign_id),
    CONSTRAINT chk_sale_le_regular
        CHECK (sale_price > 0 AND sale_price <= regular_price),
    CONSTRAINT chk_campaign_dates
        CHECK (end_date >= start_date)
);