SELECT max(employeeid) FROM Employee;
Ovanstående fråga returnerar värdet på anställd
av senast infogade post i Employee-tabellen eftersom employeeid
är en kolumn för automatisk ökning. Det här verkar vara OK, men anta två trådar kör insert operation samtidigt, finns det en chans att du får fel id för senast infogade post!
Oroa dig inte, MySQL tillhandahåller en funktion som returnerar värdet på kolumnen för automatisk ökning av den senast infogade posten.
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
är alltid anslutningsspecifik , detta innebär att även om insättningsoperationen utförs samtidigt från olika anslutningar, returnerar den alltid värdet för aktuell anslutningsspecifik operation.
Så du måste först infoga posten i Employee-tabellen, köra ovanstående fråga för att få id-värdet och använda detta för att infoga i den andra tabellen.