Dit is een oplossing die wordt voorgesteld door de MySQl-handleiding :
Als expr als argument wordt gegeven aan LAST_INSERT_ID(), wordt de waarde van het argument geretourneerd door de functie en onthouden als de volgende waarde die moet worden geretourneerd door LAST_INSERT_ID(). Dit kan worden gebruikt om reeksen te simuleren:
Maak een tabel om de volgordeteller vast te houden en initialiseer deze:
mysql> CREATE TABLE sequence (id INT NOT NULL);
mysql> INSERT INTO sequence VALUES (0);
Gebruik de tabel om volgnummers als volgt te genereren:
mysql> UPDATE sequence SET id=LAST_INSERT_ID(id+1);
mysql> SELECT LAST_INSERT_ID();
De UPDATE-instructie verhoogt de reeksteller en zorgt ervoor dat de volgende aanroep van LAST_INSERT_ID() de bijgewerkte waarde retourneert. De SELECT-instructie haalt die waarde op. De mysql_insert_id() C API-functie kan ook worden gebruikt om de waarde op te halen. Zie Sectie 23.8.7.37, "mysql_insert_id()".
U kunt reeksen genereren zonder LAST_INSERT_ID() aan te roepen, maar het nut van het gebruik van de functie op deze manier is dat de ID-waarde op de server wordt behouden als de laatst automatisch gegenereerde waarde. Het is veilig voor meerdere gebruikers omdat meerdere clients de UPDATE-instructie kunnen uitgeven en hun eigen reekswaarde kunnen krijgen met de SELECT-instructie (of mysql_insert_id()), zonder dat dit invloed heeft op of wordt beïnvloed door andere clients die hun eigen reekswaarden genereren.