XAMPP und InnoDB

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

  • XAMPP und InnoDB

    Hi Leute!

    Ich erstelle gerade eine Datenbank und hätte da gerne auch Fremdschlüssel. Da der Standard Tabellentyp MyISAM dies ja nicht wirklich unterstützt würde ich gerne InnoDB Tabellen verwenden.
    Ich arbeite mit XAMPP auf einen localhost. Als ich jetzt versucht habe die Tabelle zu erstellen hab ich eine Fehlermeldung bekommen. Wenn ich dann die Definition des Tabellentyps (TYPE = INNODB) weglasse funktioniert die SQL Anweisung ohne Probleme. Kann man mit der XAMPP MySQL Datenbank keine InnoDB Tabllen anlege? Ist es evtl. möglich da ein zusatzpaket runterzuladen damit dass auch geht?
    Dank im voraus für eure Hilfe.

    so long
    Shimu

  • #2
    Hallo,

    wie lautet denn die Fehlermeldung und wie sieht das Create-Table-Statement aus? Vielleicht liegt der Fehler ja woanders.

    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
      InnoDB ist afaik standardmäßig nicht aktiviert. Das solltest du aber in der MySQL-Konfiguration leicht vornehmen können –*wenn ich das richtig in Erinnerung habe, ist die entsprechende Konfiguration einfach nur auskommentiert.
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Ich bekomme folgende Fehlermeldung im phpmyadmin:
        #1005 - Can't create table 'test.mitfremd' (errno: 150)

        Die SQL Syntax schaut so aus:

        PHP-Code:
        CREATE TABLE mitfremd(
        value1 INT NOT NULL,
        string VARCHAR(50),
        value2 INT,
        FOREIGN KEY (value1REFERENCES artikelnummer (artikelnummer)
        )
        TYPE=INNODB
        Ist ein Fehler in der Syntax?

        Kommentar


        • #5
          Einen Foreign Key kannst du erst setzen, wenn du einen normalen Index auf dieselbe Spalte gesetzt hast. Da MyISAM den Foreign Key komplett ignoriert, tritt dort der Fehler nicht in Erscheinung.

          Code:
          CREATE TABLE mitfremd(
          value1 INT NOT NULL,
          string VARCHAR(50),
          value2 INT,
          [COLOR="Red"]INDEX (value1),[/COLOR]
          FOREIGN KEY (value1) REFERENCES artikelnummer (artikelnummer)
          )TYPE=INNODB;
          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


          • #6
            Hmm. Jetzt hab ich das so versucht wie du das vorgeschlagen hast mit dem Index. Leider bekomme ich die gleiche Fehlermeldung. Eine Idee was da falsch läuft?
            Wieso braucht man eigentlich den Index? Was macht der?

            Kommentar


            • #7
              Zitat von Shikamaru Beitrag anzeigen
              Leider bekomme ich die gleiche Fehlermeldung.
              Dann hat die Spalte artikelnummer in der gleichnamigen Tabelle einen anderen Typ als mitfremd.value1, für einen Fremdschlüssel müssen aber beide Spaltentypen übereinstimmen.

              Zitat von Shikamaru Beitrag anzeigen
              Wieso braucht man eigentlich den Index? Was macht der?
              Bitte lies dir ein paar Grundlagentutorials durch oder schlag im MySQL-Handbuch nach.
              [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

              Lädt...
              X