MySQL-Fehlercode 1452 Fremdschlüsseleinschränkung
Beim Versuch, zwei Tabellen zu erstellen, wird eine Fehlermeldung angezeigt. Da es eine mehrwertige Abhängigkeit gab, habe ich die Tabellen getrennt und Folgendes gefunden:
CREATE TABLE NAME (
NameID Integer NOT NULL AUTO_INCREMENT,
Name varChar(255) NOT NULL,
CONSTRAINT NAME_PK PRIMARY KEY(NameID)
);
CREATE TABLE PHONE (
NameID Integer NOT NULL,
PhoneNumber varChar(15) NOT NULL,
NumType varChar(5) NOT NULL,
CONSTRAINT PHONE_FK FOREIGN KEY(NameID)
REFERENCES NAME(NameID),
CONSTRAINT PHONE_PK PRIMARY KEY(NameID)
);
Aber wenn Sie versuchen, Werte mit diesem Code hinzuzufügen:
INSERT INTO NAME (NameID, Name) VALUES (default, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (default, '706-782-4719', 'Home');
Ich erhalte den berüchtigten Fehler 1452:
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`phone_mcneill`.`PHONE`, CONSTRAINT `PHONE_FK` FOREIGN KEY (`NameID`) REFERENCES `NAME` (`NameID`))
Ich bin nicht ganz sicher, was dies bedeutet, da in der ersten Tabelle die automatische Inkrementierung von NameID angegeben ist. Ich kann es nicht automatisch inkrementieren lassen und es ist auch ein Fremdschlüssel, richtig? Vielen Dank im Voraus für die Hilfe.