Hai definito un vincolo di chiave esterna su NameID
colonna cioè nella tabella PHONE
usando inserisci per tabella del telefono hai passato il valore predefinito contro NameID, ma NameID punta a NAME
tabella e si aspetta di avere l'ID del record inserito da NAME
tabella non ha un valore predefinito come da documenti
Quindi il tuo secondo inserto può utilizzare l'inserito se da NAME
tabella come
INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');
E puoi ottenere risultati da entrambe le tabelle unendoti a loro
select * from NAME
JOIN PHONE
USING (NameID)
Come ottenere l'ID univoco per il Ultima riga inserita