Erstmal 'ne kurze Frage: Warum?
Du koenntest zum einen vor dem INSERT einen SELECT machen, ORDER BY id DESC LIMIT 1. Damit bekommst Du den Eintrag mit der hoechsten ID. Die ID+1 und schon hast Du theoretisch den richtigen Wert.
Das kann aber durch synchrone Schreiboperationen durcheinander gebracht werden.
Moeglicherweise liest Du als ID 7 aus, also sollte die naechste 8 sein. Jedoch schreibt ein anderer Prozess zwischen dem Auslesen und Schreiben einen Eintrag in die DB, natuerlich mit der ID 8.
Dann bekommt der Eintrag den Du als ID 8 erwartest ploetzlich die ID 9. Was dann bei Dir Chaos ausloesen kann.
Wenn ich direkt nach dem INSERT den Datensatz brauche starte ich ein SELECT mit allen eingetragenen Daten. Da ist die Chance ziemlich gross genau den richtigen zu treffen. Insbesondere da ich in diesen Faellen auch mit Timestamps arbeite.