"يرجى تحديد عدد متساوٍ من المصدر والمرجع" على sqlyog

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

سؤال

أحاول إضافة قيود مفتاح خارجي عبر sqlyog ، والحصول على هذا الخطأ ، على الرغم من أنني أختار فقط مصدرًا واحدًا وأعمدة مرجعية واحدة

يرجى تحديد عدد متساوٍ من المصدر والمرجع

هل يعرف أي شخص ما يعنيه في هذه الحالة؟ لاحظ أن لدي عدد متساوٍ من الأعمدة المصدر والمرجعية ...

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

المحلول

صادفت نفس المشكلة مع SQLYOG V9.01. رسالة الخطأ مضللة ويمكن أن يكون السبب الحقيقي للخطأ مختلفًا تمامًا.

الأشياء التي راجعتها لحل هذا هي ما يلي:

  • تحقق من أنواع Engyne Table ، يجب أن تكون على حد سواء Innodb
  • تحقق مما إذا كان الجدول الهدف الخاص بك ليس هو نفسه المصدر.
  • تحقق من أنواع البيانات وطولها وترجم charset للحقول المشار إليها.
  • إذا كان لديك بالفعل بيانات في الجداول الخاصة بك ، تحقق من اتساقها.

على سبيل المثال ، يجب عليك إزالة جميع البيانات غير ذات الصلة من الجدول B والتي تتعلق بالجدول أ

 DELETE target FROM B AS target LEFT JOIN A USING(id_A) WHERE A.id_A IS NULL
  • أخيرًا في حالتي ، اضطررت إلى غسل الجداول لإنشاء قيوداتي بنجاح.

يمكن أن يمنحك إنشاء القيد اليدوي من نافذة الاستعلام مزيدًا من المعلومات حول نوع الخطأ الخاص بك.

فقط للتذكير:

ALTER TABLE `B` ADD CONSTRAINT `FK_B` FOREIGN KEY (`id_A`) REFERENCES `A` (`id_A`) ON DELETE CASCADE ; 

حظا طيبا وفقك الله!

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