Hamada Ahmed نشر 29 أكتوبر 2021 أرسل تقرير نشر 29 أكتوبر 2021 السلام عليكم ورحمة الله وبركاته اذا كان هناك جدول للموضوعات باسم news به حقل id تتسلسل من خلاله المواضيع وهناك جدول اخر للتعليقات باسم comment به حقل news_id رقم الموضوع id هو نفسه news_id في التعليقات ماذا يمكن فعله لحذف كل التعليقات المتعلقة بموضوع معين عندما يتم حذف الموضوع نفسة من القاعدة اي ان id ليس له وجود في الجدول 1 اقتباس
0 Hassan Hedr نشر 29 أكتوبر 2021 أرسل تقرير نشر 29 أكتوبر 2021 يمكن عند تعريف الربط بين جدول التعليقات وجدول الموضوعات تحديد معاملة التعليقات المرتبطة بموضوع تم حذفه عن طريق تحديد ON DELETE بالقيمة CASCADE CREATE TABLE comment ( ... FOREIGN KEY (news_id) REFERENCES news (id) ON DELETE CASCADE ); بعدها عند حذف موضوع من جدول news سيتم حذف كل التعليقات المتعلقة من جدول comment به تلقائيا 1 اقتباس
0 Hamada Ahmed نشر 29 أكتوبر 2021 الكاتب أرسل تقرير نشر 29 أكتوبر 2021 بتاريخ 24 دقائق مضت قال Hassan Hedr: يمكن عند تعريف الربط بين جدول التعليقات وجدول الموضوعات تحديد معاملة التعليقات المرتبطة بموضوع تم حذفه عن طريق تحديد ON DELETE بالقيمة CASCADE CREATE TABLE comment ( ... FOREIGN KEY (news_id) REFERENCES news (id) ON DELETE CASCADE ); بعدها عند حذف موضوع من جدول news سيتم حذف كل التعليقات المتعلقة من جدول comment به تلقائيا قمت بعمل ذلك لكن لم تنجح CREATE TABLE comments ( `id` INT( 9 ) NOT NULL AUTO_INCREMENT , `comment_text` Text NOT NULL , `subject_id` INT( 9 ) NOT NULL , `commentor_id` varchar(50) NOT NULL, `comment_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `comment_status` int(1) NOT NULL, PRIMARY KEY ( `id` ), FOREIGN KEY (subject_id) REFERENCES news (id) ON DELETE CASCADE ) ENGINE = MYISAM 1 اقتباس
1 Hassan Hedr نشر 29 أكتوبر 2021 أرسل تقرير نشر 29 أكتوبر 2021 بتاريخ 7 دقائق مضت قال Hamada Ahmed: قمت بعمل ذلك لكن لم تنجح CREATE TABLE comments ( `id` INT( 9 ) NOT NULL AUTO_INCREMENT , `comment_text` Text NOT NULL , `subject_id` INT( 9 ) NOT NULL , `commentor_id` varchar(50) NOT NULL, `comment_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `comment_status` int(1) NOT NULL, PRIMARY KEY ( `id` ), FOREIGN KEY (subject_id) REFERENCES news (id) ON DELETE CASCADE ) ENGINE = MYISAM المشكلة هي في المحرك MYISAM فهو لا يدعم مفاتيح الارتباط، حاولي استخدام InnoDB فهو يدعم شروط المفاتيح على الجداول ليصبح انشاء الجدول كالتالي CREATE TABLE comments ( ... FOREIGN KEY (`subject_id`) REFERENCES news (`id`) ON DELETE CASCADE ) ENGINE = InnoDB 1 اقتباس
السؤال
Hamada Ahmed
السلام عليكم ورحمة الله وبركاته
اذا كان هناك جدول للموضوعات باسم news به حقل id تتسلسل من خلاله المواضيع
وهناك جدول اخر للتعليقات باسم comment به حقل news_id
رقم الموضوع id هو نفسه news_id في التعليقات
ماذا يمكن فعله لحذف كل التعليقات المتعلقة بموضوع معين عندما يتم حذف الموضوع نفسة من القاعدة اي ان id ليس له وجود في الجدول
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.