Você definiu uma restrição de chave estrangeira em
NameID coluna, ou seja, na tabela PHONE usando insert for phone table você passou o padrão contra NameID, mas NameID está apontando para NAME table e esperando ter o ID do registro inserido de NAME table não tem um valor padrão conforme os documentos Portanto, sua segunda inserção pode usar o if inserido de
NAME mesa como INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');
E você pode obter resultados de ambas as tabelas juntando-as
select * from NAME
JOIN PHONE
USING (NameID)
Como obter o ID exclusivo para o Última linha inserida
Ver demonstração do violino