You have defined a foreign key constraint on NameID
column i.e in table PHONE
using insert for phone table you have passed default against NameID ,but NameID is pointing to NAME
table and expecting to have the inserted record id from NAME
table it doesn't have a default value as per the docs
When a new AUTO_INCREMENT value has been generated, you can also obtain it by executing a SELECT LAST_INSERT_ID()
So your second insert can use the inserted if from NAME
table like
INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');
And you can grab results from both tables by joining them
select * from NAME
JOIN PHONE
USING (NameID)