CREATE DATABASE my_db;
CREATE TABLE class (classID int NOT NULL AUTO_INCREMENT,
nameClass varchar(255),
classLeader varchar(255),
FOREIGN KEY (classLeader) REFERENCES student(studentID),
PRIMARY KEY (classID));
CREATE TABLE student (studentID int NOT NULL AUTO_INCREMENT,
lastName varchar(255),
firstName varchar(255),
classID int,
FOREIGN KEY (classID) REFERENCES class(classID),
PRIMARY KEY (studentID));
मैं विदेशी कुंजी का उपयोग करके तालिकाओं के बीच डेटा स्थिरता बीमा करने की कोशिश कर रहा हूं ताकि डीबीएमएस त्रुटियों की जांच कर सके; हालांकि, ऐसा लगता है कि हम किसी कारण से ऐसा नहीं कर सकते हैं। क्या त्रुटि है और क्या कोई विकल्प है? साथ ही, जब मैं एक सारणी भरता हूं जिसमें एक विदेशी कुंजी है, तो मैं उस क्षेत्र को भर नहीं सकता जो विदेशी कुंजी के लिए आरक्षित है, है ना? साथ ही, क्या एक विदेशी कुंजी बिल्कुल महत्वपूर्ण मानी जाती है?त्रुटि कोड: 1215. विदेशी कुंजी बाधा (विदेशी कुंजी)
FOREIGN KEY (classLeader) REFERENCES student(studentID),
classLeader की डेटाप्रकार VARCHAR (255) है:
डाटाबेस बनाएं my_db3; CREATE TABLE वर्ग (CLASSID नहीं NULL AUTO_INCREMENT int, nameClass varchar (255), classLeader पूर्णांक, विदेशी कुँजी (classLeader) दें संदर्भ छात्र (studentID), प्राथमिक कुंजी (ClassID)); शो टेबल छात्र बनाएँ (studentID पूर्णांक नहीं NULL AUTO_INCREMENT, lastName varchar (255), firstName varchar (255), CLASSID पूर्णांक, विदेशी कुँजी (ClassID) दें संदर्भ वर्ग (ClassID), प्राथमिक कुंजी (studentID)) ; –
मुझे अभी भी एक त्रुटि मिल रही है। –
@ GEORGEReed..यह उपयोगी होगा यदि आप जो त्रुटि प्राप्त कर रहे हैं उसे पोस्ट कर सकते हैं। – Rohan