SELECT max(employeeid) FROM Employee;
A consulta acima retorna o valor de
employeeid
do último registro inserido na tabela Employee porque employeeid
é uma coluna de incremento automático. Isso parece estar certo, mas suponha que dois threads estão executando a operação de inserção simultaneamente, há uma chance de você obter o id errado do último registro inserido! Não se preocupe, o MySQL fornece uma função que retorna o valor da coluna de incremento automático do último registro inserido.
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
é sempre específico da conexão , isso significa que mesmo que a operação de inserção seja realizada simultaneamente a partir de diferentes conexões, ela sempre retorna o valor da operação específica da conexão atual. Então você precisa primeiro inserir o registro na tabela Employee, executar a consulta acima para obter o valor do id e usar isso para inserir na segunda tabela.