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