خطأ المفتاح الخارجي MySql 150: لغز محير
عند محاولة إنشاء جدولي "foo" و"bar" مع علاقات المفاتيح الخارجية ، تواجه الخطأ 1005 (HY000) بالإشارة إلى الخطأ 150. يمكن أن يكون هذا الخطأ محبطًا، مما يجعلك في حيرة من أمرك فيما يتعلق بالجذر السبب.
وفقًا لوثائق MySQL حول قيود FOREIGN KEY، تنشأ المشكلة عند إعادة إنشاء جدول تم إسقاطه يحتوي على مراجع مفاتيح خارجية. يجب أن يتوافق الجدول مع قيود المفتاح الخارجي من خلال مطابقة أسماء الأعمدة وأنواعها، بالإضافة إلى الفهارس الموجودة على المفاتيح المشار إليها. إذا لم يتم استيفاء هذه الشروط، تقوم MySQL بإرجاع الخطأ 1005، مع الخطأ الأساسي 150.
من المحتمل أن يكون الخطأ بسبب حقيقة أن الجدول "foo" لم يتم تعريفه كجدول InnoDB. تنص وثائق MySQL صراحةً على أن كلا الجدولين يجب أن يكونا جداول InnoDB وغير مؤقتة.
عن طريق تعديل استعلام إنشاء الجدول "foo" لتحديد محرك InnoDB:
mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;
يجب أن تكون قادرًا على إنشاء جدول "الشريط" بنجاح باستخدام الأجنبي القيد الرئيسي، حل الخطأ 150.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3