اذهب إلى المحتوى
  • 0

كيف أحل هذه المشكلة في Mysql؟

سعيد بو عبد الله

السؤال

حاولت إنشاء جداول في قاعدة بيانات من نوع Mysql وذلك بإتباع التعليمات من الموقع الرسمي، هذا ما كتبته من كود:

create table department
(dept_name      varchar(20), 
 building       varchar(15), 
 budget             numeric(12,2),
 primary key (dept_name)
);

create table course
(course_id      varchar(8), 
 title          varchar(50), 
 dept_name      varchar(20),
 credits        numeric(2,0),
 primary key (course_id),
 foreign key (dept_name) references department
);

فيظهر لي هذا الخطأ كرسالة:

ERROR 1005 (HY000): Can't create table 'test.course' (errno: 150)

ما الحل؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

سبب الخطأ في عدم إعطاء المصدر -references- بشكل جيد، حيث أنك ذكرت اسم الجدول فقط، في حين يتوجب عليك ذكر اسم الحقل أيضاً، لأنه وكما تعلم فالجدول يتوفر على أكثر من حقل، وليس بالضرورة أن يكون  الحقل المعرِّف -PrimaryKey- هو المصدر في جدول آخر، أي أن الكود الصحيح هو:

create table department
(dept_name      varchar(20), 
 building       varchar(15), 
 budget             numeric(12,2),
 primary key (dept_name)
);

create table course
(course_id      varchar(8), 
 title          varchar(50), 
 dept_name      varchar(20),
 credits        numeric(2,0),
 primary key (course_id),
 foreign key (dept_name) references department(dept_name)
);

Using FOREIGN KEY Constraints

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...