#1060 - 列名重复

时间:2016-07-15 17:05:25

标签: mysql join duplicates create-table

为什么MySQL中的查询错误(1060) Duplicate column name 'studentID'?我该如何预防?

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

2 个答案:

答案 0 :(得分:3)

如果您使用MySQL的USING子句(替代ON),它将只生成用于在SELECT的结果中连接这些表的共享字段的一个副本。

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

MySQL JOIN documention中包含

USING

答案 1 :(得分:0)

您的JOIN结果包含2个具有相同名称studentID的列。从该结果您想要创建一个表。但是表需要唯一的列名。

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