إنشاء علاقة قاعدة البيانات بواسطة MySQL Workbench

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

  •  19-09-2019
  •  | 
  •  

سؤال

أحاول إنشاء مفتاح أجنبي بين الجداول باستخدام Workbench MySQL. لكنني لا أعرف لماذا لا يمكنني تحديد مربع الاختيار لتحديد حقل من أجل تعيين مع حقل آخر في جدول آخر. ربما تتطلب كل من الحقل له نفس النوع (والظروف الأخرى؟) لذلك يمكنك أن تخبرني معايير إنشاء علاقة باستخدام المفتاح الأجنبي وكيفية القيام بذلك في MySQL Workbench؟

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

المحلول

أنا لست مستخدم من Workbench MySQL، ولكن تأكد من أنك تستخدم محرك تخزين يدعم المفاتيح الأجنبية في المقام الأول. (على سبيل المثال، InnoDB)

انظر وثائق mysql ل المتطلبات اللازمة لعلاقة مفتاح خارجية.

نصائح أخرى

كان لي هذه المشكلة أيضا. السبب في أنني لم أستطع إنشاء العلاقة كان كما تقول أن الأنواع لم تكن هي نفسها بالضبط. كان لدي int غير الموقعة ككل مفتاح أساسي ووقت موقعة ككل مفتاح خارجي، لذلك لن يسمح لي البرنامج بإنشاء العلاقة. سيكون لطيفا إذا جاء البرنامج مع تنبيه أو نوع من ردود الفعل المستخدمين يسلط الضوء على اعتراضه على التحقق من ذلك المربع.

كان لي نفس القضية. وجدت الحل البديل:

بعد إدخال اسم قيود تدفيرة واختيار جدول الجدول المشار إليه "التالي"دون تحديد أسماء الأعمدة.

في هذه الخطوة سترى إنشاء SQL Script القيد الجديد. قم بتحريره يدويا: أدخل اسم العمود المشار إليه واسم عمود FK. ثم انقر فوق إنهاء. سيتم تنفيذ البرنامج النصي. لإعادة فحص محاولة فتح نافذة تغيير الجدول مرة أخرى وسترى أن مربع اختيار العمود يتم الآن في علامة التبويب المفتاح الأجنبي.

عند تحرير جدول في محرر مخطط EER، هناك علامة تبويب "مفاتيح أجنبية". يمكنك ضبط المفاتيح الخارجية بين الجداول هناك. (Workbench 5.2.36)

أنا مواجهة نفس المشكلة مع mysql workbench. لدي سحر واحد (5) (في الجدول 1) كمفتاح أساسي وآخر شار (5) (في الجدول 2) ككل مفتاح أجنبي. لكن MySQL Workbench لن يسمح لي بإنشاء العلاقة. أنا أستخدم InnoDB.

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