Aktueller Standort: Startseite> Neueste Artikel> MySQLI :: Aktualisieren in Kombination mit MySQLI_REFRESH_TABLE Konstante

MySQLI :: Aktualisieren in Kombination mit MySQLI_REFRESH_TABLE Konstante

gitbox 2025-05-29

1. Was ist MySQLI :: Aktualisierung?

Mysqli :: Refresh ist eine Methode der MySQLI -Klasse, und ihre Definition lautet wie folgt:

 public mysqli::refresh (int $options): bool

Es empfängt einen Integer -Parameter $ Optionen , eine Kombination aus einer oder mehreren Konstanten, die zur Kontrolle des Aktualisierungsverhaltens verwendet werden. Zum Beispiel:

  • MySQLI_REFRESH_GRANT

  • MySQLI_REFRESH_LOG

  • MySQLI_REFRESH_TABLE

  • Mysqli_refresh_hosts

  • MySQLI_REFRESH_STATUS

  • MySQLi_Refresh_Threads

Diese Konstanten können beispielsweise in Kombination nach bitweise oder ( | ) verwendet werden:

 MYSQLI_REFRESH_TABLES | MYSQLI_REFRESH_STATUS

2. Was ist mySQLI_REFRESH_TABLE?

MySQLI_REFRESH_TABLE ist eine Konstante, mit der das Aktualisieren des Datentabellen -Cache angezeigt wird. Wenn Sie während des so ausgeführten Codes Änderungen an der Tabellenstruktur vornehmen (z. B. Hinzufügen von Feldern, Änderungen von Indizes usw.) und hoffen, dass die aktuelle Verbindung diese Änderungen sofort erkennen kann, können Sie MySQLI :: Refresh (mysqli_refresh_tables) aufrufen.

Dies ist sehr nützlich für Programme, die lange Zeit ausgeführt werden oder die Tabellenstrukturen durch Skripte regelmäßig verwalten.


3.. So verwenden Sie MySQLI :: Refresh und MySQLI_REFRESH_TABLE zusammen

Hier ist ein vollständiges Beispiel, das zeigt, wie die Methode MySQLI :: Refresh mit der Konstante MySQLI_REFRESH_TABLE verwendet wird:

 <?php

$mysqli = new mysqli("localhost", "username", "password", "database");

// Überprüfen Sie die Verbindung
if ($mysqli->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}

// Aktualisieren Sie den Datentabellen -Cache
if ($mysqli->refresh(MYSQLI_REFRESH_TABLES)) {
    echo "Datentabelle erfolgreich aktualisieren。\n";
} else {
    echo "Aktualisierung der Datentabelle fehlgeschlagen。\n";
}

$mysqli->close();

In diesem Beispiel stellen wir eine Verbindung zum lokalen Datenbankserver her, rufen dann die Aktualisierungsmethode auf und übergeben in mySQLI_REFRESH_TABLE und geben die Eingabeaufforderung nach dem Erfolg aus.

Sie können auch mehrere Aktualisierungsoptionen kombinieren:

 $mysqli->refresh(MYSQLI_REFRESH_TABLES | MYSQLI_REFRESH_STATUS);

4. Beispiele für Nutzungsszenarien

1. Im automatisierten Bereitstellungsskript

In einigen automatisierten Bereitstellungsprozessen können Skripte sofort nach der Aktualisierung der Datenbankstruktur Abfragen ausführen. Um Fehler zu vermeiden, die durch zwischengespeicherte Metadaten verursacht werden, kann das Aufrufen der Aktualisierungsmethode sicherstellen, dass die neueste Struktur verwendet wird.

2. System dynamischer Datenstrukturen

In einigen SaaS -Plattformen können Benutzer beispielsweise dynamisch Felder hinzufügen oder Tabellenstrukturen erweitern. In diesem System kann MySQLI :: Refresh (mysqli_refresh_tables) verwendet werden, um sicherzustellen, dass der Anwendungsschichtcode strukturelle Änderungen rechtzeitig erkennt.

3.. MySQL Erfrischung

Obwohl wir in diesem Artikel hauptsächlich MySQLi_Refresh_Tables diskutieren, können Sie, wenn Sie ein Skript verwenden, um Berechtigungen zu ändern (z. B. autorisierte Benutzer), Sie verwenden, um die Berechtigungstabelle zu aktualisieren:

 $mysqli->refresh(MYSQLI_REFRESH_GRANT);

5. Dinge zu beachten

  • Die Aktualisierungsmethode ändert weder die tatsächlichen Daten noch die Struktur in der Datenbank, sondern zwingt nur den MySQLI -Client, den internen Cache neu zu laden.

  • Nicht alle MySQL -Serverkonfigurationen unterstützen alle Arten von Aktualisierungsvorgängen, abhängig von der Serverversion und den Einstellungen.

  • Wenn Sie beim Aufrufen der Aktualisierungsmethode eine ungültige konstante Kombination übergeben, meldet dies möglicherweise keinen Fehler, spielt jedoch keine Rolle.