كيف يمكنني جعل سلة إعادة التدوير لتطبيق قاعدة البيانات؟

StackOverflow https://stackoverflow.com/questions/1361525

سؤال

لديّ تطبيق قاعدة بيانات ، أريد أن أسمح للمستخدم باستعادة السجلات المحذوفة من قاعدة البيانات ، كما هو الحال في Windows ، لدينا BIN Recycle for Files ، أريد أن أفعل نفس الشيء ولكن بالنسبة لسجلات قاعدة البيانات ، افترض أن لدي الكثير من الجداول ذات الصلة التي لديها الكثير من الحقول.

تعديل:

دعنا نقول أن لدي الهياكل التالية:

جدول التقارير

  • repname المفتاح الأساسي
  • تقرير

جدول المستخدمين

  • معرف المفتاح الأساسي
  • اسم

الجدول UserReports

  • repname المفتاح الأساسي
  • مفتاح userId الأساسي
  • يتم حذف

الآن إذا وضعت حقل Isdeleted في جدول UserReports ، فلا يمكن للمستخدم إضافة نفس السجل مرة أخرى إذا تم وضع علامة عليه كما تم حذفه ، لأن السجل بالفعل وسيؤدي ذلك إلى تكرار.

هل كانت مفيدة؟

المحلول

ملاحظة: أنا دائمًا أستخدم المفتاح الأساسي البديل.

إضافة عمود الطابع الزمني 'DELETED_AT'. عندما يقوم المستخدم بحذف الإدخال ، وضع الوقت الحالي. اجعل هذا الجزء الرئيسي من تقييدك.

في كل استعلام ، تذكر أن تبحث فقط عن السجلات التي لها NULL في حقل DELETED_AT.

بعض الأطر (مثل ActivereCord) تجعل من التافهة القيام به.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top