结果集中不会覆盖列值

时间:2015-12-18 10:01:15

标签: mysql pdo heidisql

HeidiSQL的标准行为是否不覆盖应该在结果集中覆盖的字段?

我运行SQL查询,其中两个表具有相同的字段,一个表是主表,另一个表是来自连接。我必须从主表中选择所有字段(例如使用“*”),并且连接表中的某些字段必须覆盖主表的值。它实际上在我们用PDO获取结果时(因此我们得到一个具有相同键的数组值覆盖前一个)。但是在HeidiSQL中我得到了这个:

enter image description here

1 个答案:

答案 0 :(得分:0)

好的,自己拿到了。 根据文件:

  

MySQL允许重复的列名。也就是说,可以有多个具有相同名称的select_expr。这是标准SQL的扩展。因为MySQL也允许GROUP BY和HAVING引用select_expr值,这可能会导致歧义:

     

SELECT 12 AS a,FROM t GROUP BY a;

     

在该语句中,两列都具有名称a。要确保使用正确的列进行分组,请为每个select_expr使用不同的名称。

我之前没有重视过这个问题。