我需要从常规SQL命令以PHP导出数据。为了避免复制粘贴,我将用户友好的列名和表名作为mysql描述。我可以通过SHOW COLUMNS / EXPLAIN命令获得它。它与单个表一起很好地工作。

但是,当我需要使用select连接更多表时,我无法获得列信息来告诉什么是源基础列(表+列,计算的等等)。

SELECT * FROM zm_orders o INNER JOIN zm_c_payment p ON o.payid=p.payid


使用DESCRIBE/EXPLAIN命令确实提供有关查询计划的信息,但不提供有关结果(列)的信息。

DESCRIBE SELECT * FROM zm_orders o INNER JOIN zm_c_payment p ON o.payid=p.payid


是一种方法来挖掘此信息吗?

最佳答案

如果您要使用包含表名和/或其他信息的用户友好列名,则不能使用星号“ *”。您必须自己命名/重命名列:

SELECT o.payid AS o_payid, p.payid AS p_payid FROM zm_orders o INNER JOIN zm_c_payment p ON o.payid=p.payid

10-04 14:55