Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

विदेशी कुंजी बाधा जोड़ने में विफल। बाधा त्रुटि कोड के लिए अनुपलब्ध अनुक्रमणिका:1822

आपके पास एक समग्र प्राथमिक कुंजी है, इसलिए आपको एक समग्र विदेशी कुंजी की आवश्यकता है:

CREATE TABLE Prerequisite_to(
    infs CHAR(4),
    course_number CHAR(3),
    PRIMARY KEY (infs,course_number),
    FOREIGN KEY (infs, course_number) REFERENCES Class(infs, course_number)
);

सिर्फ रिकॉर्ड के लिए, मैं समग्र प्राथमिक कुंजी का प्रशंसक नहीं हूं। मुझे यह भी लगता है कि किसी और चीज की जरूरत है दो पाठ्यक्रम संदर्भ। तो:

CREATE TABLE Classes (
    class_id int auto_increment primary key,
    infs CHAR(4) NOT NULL,
    course_number CHAR(3) NOT NULL,
    unique (infs, course_number)
);

CREATE TABLE Prerequisites (
    preresequisite_id int auto_increment primary key,
    class_id int,
    prerequisite_class_id int,
    FOREIGN KEY (class_id) REFERENCES Classes(class_id),
    FOREIGN KEY (prerequisite_class_id) REFERENCES Classes(class_id)
);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL को ORDER BY में पंक्ति स्थिति मिलती है

  2. किसी स्थान के आस-पास के उपनगरों की सूची कैसे प्राप्त करें और फिर MySQL का उपयोग करके अन्य स्थानों के लिए दोहराएं?

  3. गुम डेटाबेस कनेक्शन ग्रहण

  4. MySQL के IF() फ़ंक्शन के लिए मानक विधि

  5. MySQL विदेशी कुंजी बाधा - पूर्णांक स्तंभ