السلام عليكم
هل يوجد حقل للتاريخ يحفظ اليوم والشهر والسنة والوقت ؟
هل يمكن إنشاء حقل تاريخ تلقائي يعبأ تلقائيا عند إنشاء السجل لأول مرة ، وحقل تاريخ تلقائي آخر يعبأ عند تعديل السجل ؟
السلام عليكم
هل يوجد حقل للتاريخ يحفظ اليوم والشهر والسنة والوقت ؟
هل يمكن إنشاء حقل تاريخ تلقائي يعبأ تلقائيا عند إنشاء السجل لأول مرة ، وحقل تاريخ تلقائي آخر يعبأ عند تعديل السجل ؟
يوجد الصنف DATETIME
لإعطاء الحقل قيمة افتراضية، يمكنك تحديد ذلك عند إنشاء الجدول. مثال
create table zozo (name varchar(20), birthDate DATETIME default '2010-01-01 12:12:10');
جزاك الله خيرا .
لم أقصد قيمة افتراضية ، وإنما قيمة تلقائية ، أي عند إدراج سجل جديد يأخذ الحقل قيمة الوقت الحالي ، وكذلك بالنسبة لحقل التعديل .
يمكن جعل القيمة الإفتراضية هي قيمة الوقت الحالي، لكن عندها يجب استخدام TIMESTAMP لأن DATETIME تقبل فقط constant value
مثال
إنشاء الجدول وإعطاء الحقل birthDate الوقت الحالي كقيمة افتراضية
CREATE TABLE zuzu (name VARCHAR(20), birthDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
إضافة بعض الأسطر، وكما ترى لم أحدد التاريخ
INSERT INTO zuzu (name) VALUES ("rohaili1");
INSERT INTO zuzu (name) VALUES ("rohaili2");محتوى الجدول أصبح كالتالي
+----------+---------------------+
| name | birthDate |
+----------+---------------------+
| rohaili1 | 2010-01-07 18:53:12 |
| rohaili2 | 2010-01-07 18:53:15 |
+----------+---------------------+
الآن بالنسبة للتعديل
UPDATE zuzu SET name="rohaili0", birthDate=DEFAULT WHERE name="rohaili1";
والنتيجة، وكما ترى التاريخ تغير ليأخد قيمة الوقت الحالي
+----------+---------------------+
| name | birthDate |
+----------+---------------------+
| rohaili0 | 2010-01-07 18:57:16 |
| rohaili2 | 2010-01-07 18:53:15 |
+----------+---------------------+
لست خبيرا في MySQL، لذلك ممكن تكون هناك حلول أفضل لمشكلتك :happy:
تم تعديل هذه المشاركة بواسطة herch في 7 يناير 2010 في 22:18
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…