Vorbereitete MySQL-Anweisung erfordert erneute Vorbereitung: Fehlerbehebung „Vorbereitete Anweisung muss erneut vorbereitet werden“-Fehler
Wenn Sie auf die Meldung „Vorbereitete Anweisung“ stoßen Der Fehler „muss neu vorbereitet werden“ in MySQL weist auf eine Inkonsistenz zwischen der Server- und der Clientversion einer Tabellendefinition hin. Typischerweise tritt dieses Problem auf, nachdem Code mit gespeicherten MySQL-Prozeduren auf einen Hosting-Server migriert wurde.
Fehlerursache:
Der Fehler tritt auf, weil MySQL einen Tabellencache verwaltet Metadaten, die zur Optimierung der Leistung verwendet werden, indem die Notwendigkeit reduziert wird, Spalteninformationen für jede Abfrage abzurufen. Wenn sich jedoch die Tabellenstruktur zwischen den Versionen auf dem lokalen Computer und dem Hosting-Server ändert, sind die zwischengespeicherten Metadaten veraltet und die Anweisung kann nicht mehr erfolgreich ausgeführt werden.
Mögliche Lösung:
Wie der MySQL-Fehler Nr. 42041 nahelegt, kann das Problem durch Erhöhen des Werts der Variable „table_definition_cache“ behoben werden. Diese Variable gibt die Anzahl der Tabellen an, die MySQL zwischenspeichert. Durch Erhöhen der Cache-Größe können Sie die Wahrscheinlichkeit von Diskrepanzen zwischen den zwischengespeicherten und tatsächlichen Tabellendefinitionen verringern.
Anleitung:
SET GLOBAL table_definition_cache = <new_value>;
Referenz:
Für Weitere Informationen zum Statement-Caching in MySQL finden Sie in der offiziellen MySQL-Dokumentation: https://dev.mysql.com/doc/refman/8.0/en/statement-cache.html
Das obige ist der detaillierte Inhalt vonWarum muss meine vorbereitete MySQL-Anweisung erneut vorbereitet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!