#1060 - 重复的列名

#1060 - Duplicate column name

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

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

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

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

USING 包含在 MySQL JOIN documention.

您的 JOIN 结果包含 2 个同名的列 studentID。根据该结果,您想创建一个 table。但是 table 需要唯一的列名。

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