sql >> Base de Datos >  >> RDS >> Mysql

¿Enumeración de tablas utilizadas en la consulta mysql?

Sí, puede obtener información sobre tablas y columnas que forman parte del resultado de una consulta. Esto se denomina metadatos del conjunto de resultados. .

La única solución de PHP para los metadatos del conjunto de resultados de MySQL es usar la extensión MySQLi y mysqli_stmt::result_metadata() función.

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

Tendrá que crear la matriz de tablas distintas utilizadas en la consulta usted mismo, recorriendo los campos.