Foreign Key

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Foreign Key

    Hallo!

    Ich bin nicht so erfahren im MySQL! Ich möchte eine Bestenliste DB erstellen, die sauber normalisiert ist! Dazu benötige ich 3 Tabellen: Athlet, athleten__has_distanz, und distanz!

    Habe da mit dem DBDesigner ein SQL Skript kreiert, aber dann kommt die Meldung von phpMyAdmin:
    "Die Index-Typen INDEX und PRIMARY sollten nicht gleichzeitig für die Spalte `distanzen_Id` gesetzt sein"

    Hier die Tabellen:

    CREATE TABLE athleten (
    at_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    at_nname VARCHAR(30) NOT NULL,
    at_vname VARCHAR(30) NOT NULL,
    at_adresse VARCHAR(30) NOT NULL,
    at_plz VARCHAR(30) NOT NULL,
    at_ort VARCHAR(30) NOT NULL,
    at_telefon VARCHAR(30) NOT NULL,
    at_email VARCHAR(30) NOT NULL,
    at_hobbies VARCHAR(150) NOT NULL,
    at_foto VARCHAR(50) NULL,
    PRIMARY KEY(at_id)
    );

    CREATE TABLE athleten_has_distanzen (
    distanzen_Id INTEGER UNSIGNED NOT NULL,
    athleten_at_id INTEGER UNSIGNED NOT NULL,
    bz_bestzeit VARCHAR(30) NOT NULL,
    bz_datum VARCHAR(20) NOT NULL,
    PRIMARY KEY(distanzen_Id, athleten_at_id),
    INDEX athleten_has_distanzen_FKIndex1(athleten_at_id),
    INDEX athleten_has_distanzen_FKIndex2(distanzen_Id)
    );

    CREATE TABLE distanzen (
    Id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    distanz VARCHAR(30) NOT NULL,
    PRIMARY KEY(Id)
    );


    Ich möchte anschliessend in die Tabelle athleten_has_distanz die ID vom athlet und die ID der distanz eintragen, sowie die Zeit und Datum!

    Kann mir da jemand helfen, wie die Tabelle athleten_has_distanz aussehen muss?????

    Vielen Dank schon im voraus!!

    Freundliche Grüsse

    Jonas

  • #2
    ??

    Hat niemand eine Antwort?
    Ist diese generierte Meldung von phpmyAdmin problematisch? Oder was soll das?
    Die Tabellen können ja erstellt werden, dies ist nicht das Problem! Muss vielleicht auch sagen, bin mir nicht wirklich im klaren wie dies mit den Foreign Keys funktioniert! Gibts dazu irgend ein Tutorial oder so?

    Ich kann die Informationen ja auch mit dem JOIN Befehl auslesen. Das funktioniert!

    Kann mir jemand helfen?? Please!!

    Vielen Dank
    php123

    Kommentar


    • #3
      http://learn.to/cooldown



      Code:
      CREATE TABLE athleten_has_distanzen (
      distanzen_Id INTEGER UNSIGNED NOT NULL,
      athleten_at_id INTEGER UNSIGNED NOT NULL,
      bz_bestzeit VARCHAR(30) NOT NULL,
      bz_datum VARCHAR(20) NOT NULL,
      PRIMARY KEY(distanzen_Id, athleten_at_id)
      );
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Merci!!

        Thanks a lot mate!

        Okay, ich werde mich ab nun an diese Regeln halten -> Cooldown!

        Das heisst also, ich benötige diese Foreign sache gar nicht, right?

        gruss php123

        Kommentar


        • #5
          es sind immer noch FK's
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Original geschrieben von Abraxax
            es sind immer noch FK's
            ... nur eben ohne Constraints ...
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar

            Lädt...
            X