Problem mit FOREIGN KEY

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

  • Problem mit FOREIGN KEY

    Wahrscheinlich bin ich mal wieder zu blind, aber bei folgenden Statements bekomme ich die Meldung "foreign key constraint is incorrectly formed' und ich habe keine Ahnung, woran das liegen könnte.
    Code:
    DROP TABLE IF EXISTS `club`;
    CREATE TABLE IF NOT EXISTS `club` (
      `id` TINYINT(3) NOT NULL AUTO_INCREMENT,
      `name` varchar(40) NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `name` (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    DROP TABLE IF EXISTS `player`;
    CREATE TABLE IF NOT EXISTS `player` (
      `id` smallint(5) NOT NULL AUTO_INCREMENT,
      `name` varchar(80) NOT NULL,
      `price` int(10) unsigned DEFAULT NULL,
      `clubid` TINYINT(3) NOT NULL,
      `type` enum('1','2','3','4') DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `name` (`name`),
      FOREIGN KEY `clubid` (`clubid`) REFERENCES club (`ìd`)  
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    Hallo Peter,

    zu diesem Fremdschlüssel gibt es keinen Index. Fremdschlüsselspalten müssen bei MySQL immer erst indiziert werden.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Siehe auch, erst gestern: http://www.php-resource.de/forum/sql...sql-dabei.html
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Sorry, den hatte ich gerade zu Testzwecken rausgeschmissen:
        Code:
        DROP TABLE IF EXISTS `player`;
        CREATE TABLE IF NOT EXISTS `player` (
          `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
          `name` varchar(80) NOT NULL,
          `price` int(10) unsigned DEFAULT NULL,
          `clubid` TINYINT(3) NOT NULL,
          `type` enum('1','2','3','4') DEFAULT NULL,
          PRIMARY KEY (`id`),
          KEY `name` (`name`),
          KEY `clubid` (`clubid`),
          FOREIGN KEY `clubid` (`clubid`) REFERENCES club (`ìd`)  
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          ìd != id

          Kommentar


          • #6
            Zitat von h3ll Beitrag anzeigen
            ìd != id
            Adlerauge!
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Zitat von h3ll Beitrag anzeigen
              ìd != id


              Bitte mal für die Blinden. Warum ist id != id?
              Code:
              FOREIGN KEY `clubid` (`clubid`) REFERENCES club (`ìd`)
              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Zitat von h3ll Beitrag anzeigen
                ìd != id
                weil über dem ersten kein Punkt, sondern ein Accent grave ist.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  Zitat von AmicaNoctis Beitrag anzeigen
                  weil über dem ersten kein Punkt, sondern ein Accent grave ist.
                  Au Mann! Und ich suche mir seit zwei Stunden einen Wolf! Unglaublich.

                  Danke an euch beiden Adleraugen
                  Peter

                  PS: So langsam brauche ich wohl eine Brille
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar

                  Lädt...
                  X