Mysql
 sql >> Datenbank >  >> RDS >> Mysql

In MySQL-Abfrage verwendete Tabellen aufzählen?

Ja, Sie können Informationen zu Tabellen und Spalten abrufen, die Teil eines Abfrageergebnisses sind. Dies wird als Ergebnissatz-Metadaten bezeichnet .

Die einzige PHP-Lösung für MySQL-Ergebnissatz-Metadaten ist die Verwendung der MySQLi-Erweiterung und des mysqli_stmt::result_metadata() Funktion.

$stmt = $mysqli->prepare("SELECT * FROM   db_people.people_facts pf
  INNER JOIN db_system.connections sm ON sm.source_id = pf.object_id
  INNER JOIN db_people.people p ON sm.target_id = p.object_id
  ORDER BY pf.object_id DESC");

$meta = $stmt->result_metadata();

$field1 = $meta->fetch_field();

echo "Table for field " . $field1->name . " is " . $field1->table . "\n";

Sie müssen das Array unterschiedlicher Tabellen, die in der Abfrage verwendet werden, selbst erstellen, indem Sie die Felder durchlaufen.