Ihre Klarstellung sagt, dass Sie daran interessiert sind, sicherzustellen, dass LAST_INSERT_ID () nicht das falsche Ergebnis liefert, wenn ein anderes gleichzeitiges INSERT auftritt. Seien Sie versichert, dass die Verwendung von LAST_INSERT_ID () ungeachtet anderer gleichzeitiger Aktivitäten sicher ist. LAST_INSERT_ID () gibt nur die letzte ID zurück, die während der aktuellen Sitzung generiert wurde.
Sie können es selbst ausprobieren:
Wenn Sie darüber nachdenken, ist dies der einzige Weg, der Sinn ergibt. Alle Datenbanken, die automatisch inkrementierende Schlüsselmechanismen unterstützen, müssen auf diese Weise agieren. Wenn das Ergebnis von einer Racebedingung mit anderen Clients abhängt, die möglicherweise gleichzeitig EINFÜGEN, dann gibt es keine zuverlässige Möglichkeit, den zuletzt eingefügten ID-Wert in Ihrer aktuellen Sitzung zu erhalten.
[wähle max (primärer Schlüssel_Spaltenname) aus Tabellenname] Ahhh nicht unbedingt. Ich bin kein MySQL-Typ, aber es gibt einen spezifischen Weg, um die letzte eingefügte ID für die letzte abgeschlossene Aktion zu erhalten, die etwas robuster ist. Was ist, wenn zwischen dem Schreiben in die Tabelle und dem Abfragen eine Einfügung stattgefunden hat? Ich weiß davon, weil es mich vor vielen Monden gestochen hat (also ja, es passiert). Wenn alles andere fehlschlägt, lesen Sie das Handbuch: Ссылка
Tags und Links mysql primary-key insert