قد تتبع قيمة التاريخ ترتيب السنة والشهر واليوم، لكنها لا تمثل يومًا موجودًا في التقويم. صحة الشكل وحدها لا تكفي عند الإدخال في عمود DATE. في إعدادات MySQL 8 الافتراضية مع الوضع الصارم، يرفض المحرك تاريخًا مثل الحادي والثلاثين من أبريل، لأن هذا الشهر يحتوي على ثلاثين يومًا فقط.
تساعد هذه المراجعة على منع حفظ تواريخ لا يمكن تفسيرها باعتبارها أيامًا فعلية. عند العثور على خطأ إدخال، افحص عدد أيام الشهر والسنة الكبيسة قبل تغيير نوع العمود أو إعادة كتابة التنسيق. تحويل الحقل إلى نص لمجرد قبول القيمة الخاطئة يخفي المشكلة بدل تصحيحها، إذا كانت البيانات المطلوبة تاريخًا حقيقيًا. كما أن وجود الاقتباسين أو استخدام الشرطات لا يعالج يومًا غير موجود؛ فهذه عناصر تتعلق بكتابة القيمة، وليست بديلًا عن صلاحيتها التقويمية.
مثال
CREATE TABLE events (
event_date DATE
);
INSERT INTO events (event_date) VALUES ('2026-04-30');
باختصار: يجب أن يكون التاريخ صحيح الصيغة وصحيحًا في التقويم، وليس مجرد نص يشبه التاريخ.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.