الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ربط بين جدولين

بدأه mhdfadhil في 11 أكتوبر 2011 · 4 رد · 1,022 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،

لدي جدولين ، جدول1 وجدول2

هنا هناك طريقة في القواعد بيانات ، بحيث تمكني من الآتي :

عند اضافة حقل جديد في جدول 1 ، يتم بشكل اوتوماتيكي بدون تدخل مني اضافة حقل جديد في الجدول 2 .. ؟؟

جربت اسوي فورين كي ولكن مانفعت معاي لأن فكرتها هو التعديل والحذف فقط وليس اضافة ..

مادري اذا فكرتي واضحة او لا ..

بس هي بالمختصر :

جدول 1 ---> تمت الاضافة بشكل يدوي لقاعدة البيانات

----------

رقم الكتاب : 1

اسم الكتاب : برمجة شبكات

القسم : برمجة

الكاتب : محمد

جدول 2 --> اما في الجدول 2 فتم اضافة رقم الكتاب والقسم بشكل مباشر من الجدول 1

----------

رقم الكتاب : 1

القسم : برمجة

:) هل هناك امكانية في قواعد البيانات تقوم بهذا ؟ ام احتاج الي كتابة سكربت Php للقيام بهذا ؟

مع تحياتي ،،

تم تعديل هذه المشاركة بواسطة mhdfadhil في 11 أكتوبر 2011 في 14:30

#2

السلام عليكم ...

ممكن باستخدام Trigger ... بعد الــ Insert بالجدول الأول .. نقوم بعمل Insert في الجدول الثاني .. رابط

لكن ماذا لم تعديل أو حذف في جدول1 ..

فكرة تكرار البيانات غير محبذة ... فمثلا يمكن عمل SELCET على الجدول 1 :

SELECT Book_id , Book_dept FROM Table1
1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

شكرا اخوية فكرة ال Triggers مفيدة جدا لعملي ..

ولكن واجهتني مشكلة وهي بعد عملية الـ Insert حاول اسوي تريكير يسوي انسيرت بجدول ثاني بمعلومات التي تم اضافتها ولكن عند جلب المعلومات تأتي بالقيمة صفر !!!

تحياتي

#4

السلام عليكم ..

حبذا لو رفعت لنا كود الـTrigger كي نعرف ما المشكلة...

اقتباس
بعد عملية الـ Insert حاول اسوي تريكير يسوي انسيرت بجدول ثاني بمعلومات

طبعا انت تعمل الـ Trigger .. و هو لوحده يشتغل بعد كل عملية Insert بشكل أتوماتيكي ...

CREATE TRIGGER trig_1 AFTER INSERT ON table1
FOR EACH ROW
INSERT INTO table2 (id , name) values (new.id , new.name);

لاحظ الكلمة المحجوزة (reserved keyword ) المسماة new و هي تشير إلى السجل الذي تم عمل الــ insert له .

حيث new.id هو حقل الـ id في السجل الذي تم إضافته بعبارة الــ Insert .

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 16 أكتوبر 2011 في 15:28

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5

عاشت ايدك اخوية .. فعلا فقرة الـ new هي ماكنت احتاجها ..

جزاك الله كل خير ..

مواضيع مشابهة