我需要从常规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