خطأ MySQL 1215: "لا يمكن إضافة قيد مفتاح خارجي"
عند محاولة إنشاء قيد مفتاح خارجي في MySQL، من الضروري تأكد من أن كلاً من الحقل المشار إليه وحقل المفتاح الخارجي يلتزمان بمتطلبات محددة. فيما يلي كيفية تشخيص هذا الخطأ وحله:
تناسق المحرك
نوع البيانات وطولها
يجب أن تتطابق أنواع البيانات وأطوال كلا الحقلين تمامًا. على سبيل المثال، إذا كان الحقل المشار إليه هو VARCHAR(20)، فيجب أن يكون حقل المفتاح الخارجي أيضًا VARCHAR(20).يشير الترتيب إلى مجموعة الأحرف وقواعد الفرز. يجب أن يستخدم كلا الحقلين نفس الترتيب، مثل utf8.
يجب أن يكون الحقل المشار إليه فريدًا، وغالبًا ما يُشار إليه بالأساسي أو الفريد. مفاتيح. لا يمكن أن يشير حقل المفتاح الخارجي إلى الحقول التي تسمح بقيم مكررة.
تأكد من أنك لم تحدد شرط SET NULL عندما تم الإعلان عن بعض الأعمدة المشار إليها بأنها ليست فارغة.
إذا استمر الخطأ، قم بتشغيل الأمر SHOW ENGINE INNODB STATUS؛ للكشف عن المزيد من التفاصيل المحددة.
بيان غير صحيحتقوم عبارة SQL المقدمة بإنشاء جدول يسمى "الدورة التدريبية" مع قيد مفتاح خارجي يشير إلى جدول "القسم" في الحقل "اسم_القسم". ومع ذلك، هذه العبارة غير صحيحة لأنها تفتقر إلى مواصفات نوع البيانات للحقل "dept_name". لتصحيح ذلك، يجب تعديل العبارة على النحو التالي:
إنشاء جدول المقرر الدراسي ( Course_id فارتشار (7)، فارتشار العنوان (50)، dept_name فارتشار (20)، الاعتمادات الرقمية (2،0)، المفتاح الأساسي(course_id)، قسم المراجع للمفتاح الخارجي (dept_name) (dept_name) );
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3