Mysql
 sql >> Database >  >> RDS >> Mysql

Enumerare le tabelle utilizzate nella query mysql?

Sì, puoi ottenere informazioni su tabelle e colonne che fanno parte del risultato di una query. Questo è chiamato metadati del set di risultati .

L'unica soluzione PHP per i metadati del set di risultati MySQL consiste nell'utilizzare l'estensione MySQLi e mysqli_stmt::result_metadata() funzione.

$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";

Dovrai creare tu stesso l'array di tabelle distinte utilizzate nella query, scorrendo i campi.