FETCH_ASSOC和SELECT * FROM两个具有相同列名的表

时间:2010-06-23 13:53:16

标签: mysql wildcard resultset

我有很多具有相同列名的MySQL表。所以我在寻找SELECT * FROM更多表的PDO或SQL hack - 这将返回结果集中的表名。

示例:

'SELECT * FROM table0, table1';

两个表都有'name'列。但是FETCH_ASSOC结果只返回一个'名字' - 最后一个。

结果:

echo $result["name"];

通缉结果:

echo $result["table0.name"];
echo $result["table1.name"];
...

请注意

  1. 我无法将数据库列重命名为唯一
  2. 我无法手动为每列创建别名(很多表/列)
  3. 我希望结果集中的名称不是像FETCH_NUM
  4. 这样的数字

    有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

Hack不存在,你必须创建别名。

答案 1 :(得分:1)

你说你不想为所有列添加别名,因为它们太多了,但你是否只考虑那些给你带来问题的别名?

SELECT
    *, 
    table0.name AS t0name,
    table1.name AS t1name
FROM table0 JOIN table1 ON ...
相关问题