2016-10-03 5 views
0

Ich habe nicht SQL in eine Zeit lang praktiziert und ich vergessen, wie einen Fremdschlüssel zu meinem Tisch hinzufügenHinzufügen eines Fremdschlüssel zu einer Tabelle

mysql> alter table students 
add foreign key fk_unit(unitid) 
references unit(unitid) 
on delete no action 
on update cascade; 
    ERROR 1072 (42000): Key column 'unitid' doesn't exist in table 

Ich frage mich, warum dies der Fall ist? Meine Unit-Tabelle hat einen Primärschlüssel namens unitid, warum passiert das immer wieder?

+0

Sie haben den gleichen Namen der Spalte uniteid in Studenten Tabelle überprüfen Sie es. Ich denke, dass es anders ist, deshalb Fehler zu geben. –

+0

Ihre Unit-Tabelle hat eine Spalte uniteid, aber möglicherweise Ihre Student-Tabelle hat keinen Spaltennamen unitid. Das ist es, was der Fehler impliziert. –

Antwort

0

diesen einen Versuch es funktionieren sollte ....

ALTER TABLE students 
ADD CONSTRAINT FK_UnitId FOREIGN KEY (unitid) 
    REFERENCES unit(unitid); 
0

Try this

ALTER TABLE Students 
ADD FOREIGN KEY (unitid) 
REFERENCES unit(unitid) 
0

Ihre Anfrage korrekt ist. Sieht so aus, als ob das Feld 'unitid' in 'Schülertisch' fehlt oder einen anderen Namen hat.

Verwandte Themen