Php 查找上次查询的表的名称
我在PHP程序中有一个查询,如Php 查找上次查询的表的名称,php,mysql,sql,Php,Mysql,Sql,我在PHP程序中有一个查询,如 SELECT table_a.firstname, table_a.lastname, table_b.english_score, table_b.maths_score FROM table_a INNER JOIN table_b ON table_b.student_id = table_a.id WHERE table_a.id = 21 我想知道在这个查询中调用的表的名称,包括连接的表。目的是找到受影响表的模式,以便进一步操作 是否有直接查询来执
SELECT table_a.firstname, table_a.lastname, table_b.english_score, table_b.maths_score
FROM table_a
INNER JOIN table_b ON table_b.student_id = table_a.id
WHERE table_a.id = 21
我想知道在这个查询中调用的表的名称,包括连接的表
。目的是找到受影响表的模式,以便进一步操作
是否有直接查询来执行此操作,或者我必须使用一些正则表达式?您可以检索查询的执行计划,其中包括查询中涉及的所有表
例如:
create table a (b int);
create table c (d int);
explain
select a.*
from a
join c on c.d = a.b
结果:
id select_type table partitions type pos_keys key key_len ref rows filt Extra
--- ------------ ------ ----------- ----- -------- ----- -------- ----- ----- ---- -------------
1 SIMPLE a null ALL null null null null 1 100 null
1 SIMPLE c null ALL null null null null 1 100 Using where..
在这里,您可以看到第三列包含查询中涉及的表的名称。执行计划采用表格格式(默认)或JSON格式。后者比这一个有更多的信息
您可以在中看到正在运行的示例。难道您不能从from
子句中读取它们吗?但是,我还需要JOIN
子句中的名称来检索执行计划。它包括查询中涉及的所有表。@TheImpler,如果您能以某种方式向我展示一些代码片段,它将对我有所帮助。事实上,我不知道it@Chilarai . . . <代码>联接
不是“子句”。它是FROM
子句中的运算符。请记住,简单的表格形式在出现时会显示表格的“别名”。也许你应该探索更完整的JSON格式。我会看到它