2016-07-15 28 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 ...ではなく、すべての列に名前を付けてください。

関連する問題