Scheduled Background MySQL Eventsالأحداث المجدولة بـ CREATE EVENT
تعلّم المشغلات التلقائية Triggers والأحداث المجدولة Events في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة
شرح صفوف ومحتوى الفقرة
الصف 1
شرح توضيحي
بينما تعمل المشغلات التلقائية استجابةً لتعديل الصفوف، تعمل الأحداث المجدولة (Scheduled Events) في MySQL 8.4 استجابةً للوقت تماماً مثل مهام الجدولة الزمنية (Cron Jobs) ولكن داخل خادم قاعدة البيانات نفسه. يدير هذه الأحداث خيط معالجة خلفي مدمج يُسمى مجدول الأحداث (Event Scheduler)، ويكون مفعّلاً افتراضياً في MySQL 8.4 (القيمة event_scheduler = ON).
يمكنك إنشاء حدث يُنفَّذ لمرة واحدة فقط في توقيت محدد مستقبلاً باستخدام الصيغة ON SCHEDULE AT timestamp (مثل إغلاق عرض ترويجي في نهاية الشهر أو توليد تقرير جرد لمرة واحدة). وبمجرد انتهاء تنفيذ الحدث الأحادي، يحذفه المحرك تلقائياً من قاموس البيانات ما لم تضف العبارة ON COMPLETION PRESERVE للاحتفاظ بتعريفه.
</>SQL
-- Check Event Scheduler status and create a one-time event
SHOW VARIABLES LIKE 'event_scheduler';
CREATE EVENT ev_close_promo_campaign
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 2 HOUR
ON COMPLETION PRESERVE
DO
UPDATE promotions SET is_active = 0
WHERE expires_at <= CURRENT_TIMESTAMP;
جميع فقرات هذا الدرس (المشغلات التلقائية Triggers والأحداث المجدولة Events في MySQL)