Announcement

Collapse
No announcement yet.

ERROR 1060: Duplicate column name 'id'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ERROR 1060: Duplicate column name 'id'

    Hallo,

    Ich habe eine Tabelle A und eine Tabelle B, die ich verknüpfe. Beide enthalten einen Schlüssel id, wobei in A id ein Primärschlüssel ist und in B id indexiert wurde, da er mehrmals vorkommt. Nun mache ich folgenden Join:

    CREATE TABLE C AS
    SELECT *
    FROM B b
    LEFT OUTER JOIN A a
    ON ( a.id = b.id )

    Ich erhalte jeweils die Fehlermeldung:
    ERROR 1060: Duplicate column name 'id'

    Hat jemand eine Erklärung für dieses Problem? Wenn ich nur den SELECT-Teil laufen lasse, funktoniert es. Wenn ich aber die neue Tabelle C erstellen will, gibt es mir diese Fehlermeldung.

    Engine ist MyISAM.

    Besten Dank
    giordano

  • #2
    Aus Tabelle a kommt die Spalte id und aus Tabelle b genauso.
    Also hast du 2 * den Spaltennamen id.

    Du wirst das "select *" anpassen müssen und für jede Ergebnispalte einen Spaltennamen explizit vergeben müssen.

    Comment


    • #3
      Danke für die schnelle Antwort. Ich dachte, dies wird vermieden, indem die eine id zu id_1 wird. Offenbar ist es nicht so.
      Tatsächlich funktioniert es mit
      SELECT a.*, b.var1, b.var2

      Gibt es nicht die Möglichkeit, eine Variable auszuschliessen? Z.B.:
      SELECT * (-b.id)

      Oder nur die eine Variable id umzubennen:
      SELECT *, (BUT b.id AS bid)


      Gruss

      giordano

      Comment


      • #4
        Originally posted by giordano View Post
        Danke für die schnelle Antwort. Ich dachte, dies wird vermieden, indem die eine id zu id_1 wird.
        Das passiert nur in Client-Zugriffskomponenten (und dort auch nicht in jeder).

        Die gewünschte Funktionalität kenn ich nicht.

        Comment


        • #5
          OK. Danke für die Antwort.
          giordano

          Comment

          Working...
          X