Announcement

Collapse
No announcement yet.

Referenzielle Integrität mi tMySQL

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

  • Referenzielle Integrität mi tMySQL

    Hallo Entwickler,

    laut Handbuch soll ja MySQL ab 3.xxx referenzielle Integritäten unterstützen. Die Befehle (foreign key, etc.) nimmt er auch an, aber in einem Dump fehlen diese Anweisungen. Auch mit PhpMyAdmin fehlen mir die refernziellen Integritäten. Kann mir jemand weiterhelfen?

    Gruss Andreas

  • #2
    Hallo Andreas,

    du mußt dazu als Tabellentyp InnoDB wählen. Syntax sieht dann etwa so aus:

    CREATE TABLE test (
    `ID` int(11) NOT NULL auto_increment,
    `Name` varchar(40) NOT NULL default ''
    ) TYPE=InnoDB;

    Gruß To

    Comment


    • #3
      Hallo Andreas,

      du kannst natürlich auch schon existierende Tabellen der Typ ändern:

      ALTER TABLE tabellenname TYPE = INNODB

      Grüsse
      Andrá

      Comment


      • #4
        Hallo Andreas,

        MySQL schluckt die FK-Befehle beim Schemaaufbau einer MyISAM-Tabelle zwar, aber sie werden nicht ausgeführt, weil das MyISAM-Format keine physischen Referenzen unterstützt. Dass es keine Fehlermeldung gibt, hat den Hintergrund, dass MySQL sich große Mühe gibt, den ANSI-Standard zu unterstützen. [Man kann MYSQL mit --ansi sogar in einem komplett ANSI-kompatiblen Modus betreiben.] Im ANSI-Std ist u.a. die FK-Definition festgelegt.

        Würde MySQL jetzt den Import entsprechender Strukturen bei Verwendung der betreffenden Formates verweigern, wären DBS-übergreifende Schemadefinitionen nicht importierbar.

        Gruß
        Ric

        Comment

        Working...
        X