SELECT max(employeeid) FROM Employee;
Ovenstående forespørgsel returnerer værdien af employeeid
af sidst indsatte post i medarbejdertabellen, fordi medarbejder-id
er en kolonne med automatisk stigning. Det ser ud til at være i orden, men antag to tråde udfører indsættelsesoperation samtidigt, er der en chance for, at du får forkert id for sidst indsatte post!
Bare rolig, MySQL har en funktion, som returnerer værdien af kolonnen med automatisk stigning i den sidst indsatte post.
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
er altid forbindelsesspecifik , dette betyder, at selvom indsættelsesoperationen udføres samtidigt fra forskellige forbindelser, returnerer den altid værdien af den aktuelle forbindelsesspecifikke operation.
Så du skal først indsætte post i medarbejdertabel, køre ovenstående forespørgsel for at få id-værdien og bruge denne til at indsætte i anden tabel.