Ich benutze Xampp (localhost) und mysql, um eine Datenbank für ein Projekt zu erstellen, aber ich habe ein Problem mit Fremdschlüsseln und ich kann meinen Fehler nicht finden, wenn ich versuche, eine Student Enrolment-Tabelle zu erstellen ist die Nachricht, die ich bekomme: # 1005 - kann Tabelle X
nicht erstellen. studentenrolment
(errno: 150 „über Fremdschlüssel ist falsch gebildet“)MySql Foreign Key ist falsch gebildet
Meine Tabellen-Code:
CREATE TABLE LOGINFO (
STUDENTNUMBER NUMERIC(9) NOT NULL,
PASS CHAR(12),
CONSTRAINT LOGINFO_PRIMARY_KEY PRIMARY KEY (STUDENTNUMBER));
CREATE TABLE LEADERS(
MODULESLEADER CHAR(16) NOT NULL,
LEADERSOFFICE CHAR(16) ,
LEADERSEMAIL CHAR(16) ,
LEADERSPHONE numeric(4),
CONSTRAINT LEADERS_PRIMARY_KEY PRIMARY KEY (MODULESLEADER));
CREATE TABLE MODULES(
MODULESLEADER CHAR(16) NOT NULL,
MODULECODE CHAR(6) NOT NULL ,
MODULEDESCRIPTION CHAR(16) ,
LECTURESLOT CHAR (16),
LECTUREROOM CHAR(4) ,
CONSTRAINT MODULES_FOREIGN_KEY FOREIGN KEY (MODULESLEADER) REFERENCES LEADERS (MODULESLEADER),
CONSTRAINT MODULES_PRIMARY_KEY PRIMARY KEY (MODULESLEADER,MODULECODE));
CREATE TABLE STUDENTENROLMENT(
STUDENTNUMBER NUMERIC(9) NOT NULL,
MODULECODE CHAR(6) NOT NULL ,
CONSTRAINT STUDENTENROLMENT_FOREIGN_KEY FOREIGN KEY (STUDENTNUMBER) REFERENCES LEADERS (STUDENTNUMBER),
CONSTRAINT STUDENTENROLMENT_FOREIGN_KEY FOREIGN KEY (MODULECODE) REFERENCES MODULES (MODULECODE),
CONSTRAINT STUDENTENROLMENT_PRIMARY_KEY PRIMARY KEY (STUDENTNUMBER, MODULECODE));
ich Stunden bin versucht zu finden, was der Fehler mit meiner Syntax ist, aber ich kann es finde ich habe versuchte viele andere Möglichkeiten wie:
CONSTRAINT STUDENTENROLMENT2_FOREIGN_KEY FOREIGN KEY (MODULECODE) REFERENCES MODULES (MODULECODE)
Vielen Dank im Voraus!