Heim >Datenbank >MySQL-Tutorial >Warum gibt LAST_INSERT_ID() in MySQL 0 zurück?

Warum gibt LAST_INSERT_ID() in MySQL 0 zurück?

Susan Sarandon
Susan SarandonOriginal
2024-12-22 16:19:10204Durchsuche

Why Does LAST_INSERT_ID() Return 0 in MySQL?

Fehlerbehebung bei LAST_INSERT_ID(), die in MySQL 0 zurückgibt

Beim Versuch, die ID der zuletzt eingefügten Zeile mit LAST_INSERT_ID() abzurufen, einige Benutzer stoßen auf ein verwirrendes Problem, bei dem ständig 0 zurückgegeben wird. Dies kann auch nach dem Einfügen von Zeilen mit verschiedenen Methoden, einschließlich der Angabe, auftreten NULL, 0 oder Weglassen des ID-Werts.

Ursache und Lösung

Das Problem tritt häufig auf, weil die PHP-Konfigurationseinstellung PersistentConnections von MySQL auf FALSE gesetzt ist. Wenn PersistentConnections deaktiviert ist, wird für jede Abfrage eine neue Verbindung hergestellt, was jedes Mal zu einer eindeutigen CONNECTION_ID führt. Folglich kann die Funktion LAST_INSERT_ID() keine Einfügevorgänge über mehrere Verbindungen hinweg verfolgen und gibt 0 zurück.

Um dieses Problem zu beheben, überprüfen Sie die PHP-Konfigurationsdatei von MySQL auf die Einstellung „PersistentConnections“ und stellen Sie sicher, dass sie auf TRUE gesetzt ist. Dadurch kann MySQL dauerhafte Verbindungen aufrechterhalten, die CONNECTION_ID über mehrere Abfragen hinweg beibehalten und es LAST_INSERT_ID() ermöglichen, die aktuellste ID genau abzurufen.

Das obige ist der detaillierte Inhalt vonWarum gibt LAST_INSERT_ID() in MySQL 0 zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn