SELECT max(employeeid) FROM Employee;
Powyższe zapytanie zwraca wartość employeeid
ostatniego wstawionego rekordu w tabeli Employee, ponieważ employeeid
to kolumna z automatycznym przyrostem. To wydaje się być OK, ale załóżmy dwa wątki wykonują operację wstawiania jednocześnie, istnieje szansa, że pomylisz identyfikator ostatniego wstawionego rekordu!
Nie martw się, MySQL zapewnia funkcję, która zwraca wartość kolumny automatycznego zwiększania ostatnio wstawionego rekordu.
SELECT LAST_INSERT_ID();
OSTATNI_WSTAW_ID()
jest zawsze specyficzne dla połączenia , oznacza to, że nawet jeśli operacja wstawiania jest wykonywana jednocześnie z różnych połączeń, zawsze zwraca wartość bieżącej operacji specyficznej dla połączenia.
Musisz więc najpierw wstawić rekord w tabeli Pracownik, uruchomić powyższe zapytanie, aby uzyskać wartość id i użyć go do wstawienia do drugiej tabeli.