2016-07-15 106 views
1

为什么在MySQL中查询错误(1060) Duplicate column name 'studentID'?我怎样才能防止它?#1060 - 重复列名称

CREATE TEMPORARY TABLE tempTable 
    select * from member_infos 
    join contact_infos on member_infos.studentID=contact_infos.studentID 
+1

不使用select *指定列名 –

回答

2

如果你使用MySQL的USING条款(替代ON),它只会产品用于凑SELECT结果这些表共享领域的一个副本。

如果还有其他字段共享名称,USING不能帮到你;您需要明确列出所有字段,以便排除(或别名)具有相同名称的字段。

USING涵盖在MySQL JOIN documention中。

0

您的JOIN结果包含2列同名studentID。从这个结果你想创建一个表。但是表格需要唯一的列名称。

所以最好不要使用select * from ...,而是要命名每一列。