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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage