Genom att anropa last_insert_id() får du ID:t för den FÖRSTA raden som infogades i den sista batchen. Alla andra infogade är garanterat sekventiella.
Såvida du inte gör något mycket konstigt, låter detta dig beräkna ID:t för varje rad tillräckligt enkelt.
Egentligen varierar beteendet i 5.1 beroende på inställningen av parametern innodb auto increment mode; detta borde inte spela någon roll. Så länge du inte ändrar det från standarden kommer du att se det förväntade beteendet.
Det finns enstaka fall där detta inte gör vad du förväntar dig och inte är användbart - till exempel om du gör en PÅ DUBLIKAT UPPDATERING AV NYCKEL eller INFOGA IGNORERA. I dessa fall måste du göra något annat för att räkna ut ID:n för varje rad.
Men för en vanlig vanilj INSERT-sats, utan värden specificerade för auto-inc-kolumnen, är det enkelt.
En fullständig beskrivning av hur automatiska ökningar är hanteras i innodb är här