Sie haben eine Fremdschlüsseleinschränkung für NameID definiert Spalte d.h. in der Tabelle PHONE Mit Einfügen für die Telefontabelle haben Sie den Standardwert für NameID übergeben, aber NameID zeigt auf NAME Tabelle und erwartet die eingefügte Datensatz-ID von NAME Tabelle hat keinen Standardwert gemäß der Dokumentation
Ihre zweite Einfügung kann also das eingefügte if von NAME verwenden Tabelle wie
INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');
Und Sie können Ergebnisse aus beiden Tabellen abrufen, indem Sie sich ihnen anschließen
select * from NAME
JOIN PHONE
USING (NameID)
So erhalten Sie die eindeutige ID für die Letzte eingefügte Zeile