2016-10-13 6 views
0

So Im Versuch, ein Fremdschlüssel-Tabelle Constraint hinzuzufügen, aber zu halten diese Fehler:Mysql Werkbank Fehler 1215: Kann keinen Fremdschlüssel hinzufügen

Fehlercode: 1215. Kann nicht fremd hinzufügen Schlüsseleinschränkung

der Code ist als

create table Students 

(
    ID char(10) primary key not null, 
    StudentsName varchar(30), 
    Address varchar(40), 
    StudentsTelephone varchar(20), 
    constraint M1 check(len(NIM)=10), 
    constraint M2 check(NIM like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') 
) 

create table Lecturers 

(
    CodeLecturer char(5) primary key not null, 
    LecturersName varchar(30), 
    Salary numeric, 
    Address varchar(40), 
    LecturerTelephone varchar(20), 
    constraint D1 check(len(CodeLecturer)=5), 
    constraint D2 check(CodeLecturer like 'D[0-9][0-9][0-9][0-9]') 

) 

folgen Dies ist der Fremdschlüssel-Code ist

create table TrHeaderKampus 

(
    TransactionCOde char(5) primary key not null, 
    ID char(10) not null, 
    CodeLecturer char(5) not null, 
    DateandTime datetime, 
    constraint H1 check(len(TransactioniCode)=5), 
    constraint H2 check(TransactionCode like 'TR[0-9][0-9][0-9]'), 
    foreign key(ID)REFERENCES Students ON UPDATE CASCADE ON DELETE CASCADE, 
    foreign key(CodeLecturer)REFERENCES Lecturers ON UPDATE CASCADE ON DELETE CASCADE 
) 
+0

Was sind 'MsMahisiswa' und' MsDosen' im Referenzteil des Fremdschlüssels? Wissen Sie, dass MySQL Prüfbedingungen analysiert, aber nicht ausführt? – Shadow

+0

Editiert es heraus. Es sollte "Studenten" und "Dozenten" sein. –

Antwort

0

Wie die MySQL-Dokumentation unter using foreign keys erklärt: Sie müssen nicht nur die Tabelle angeben, sondern auch die Felder, auf die der Fremdschlüssel verweist.

[CONSTRAINT [symbol]] FOREIGN KEY 
    [index_name] (index_col_name, ...) 
    REFERENCES tbl_name (index_col_name,...) 
    [ON DELETE reference_option] 
    [ON UPDATE reference_option] 

die Namen der Felder zu den Fremdschlüssel-Constraints hinzufügen, die sie verweisen.

+0

Lustig. Ich habe stundenlang auf dieser Webseite gestarrt, bevor ich hier gepostet habe. Baka des –

+0

Ich kenne dieses Gefühl :) – Shadow

Verwandte Themen