Frage zu FOREIGN KEY

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

  • Frage zu FOREIGN KEY

    Nach vier Jahren mit herzlich wenig MySQL bin ich gerade dabei alte Kenntnisse aufzufrischen und ein paar neue Dinge zu lernen. In diesem Fall geht es um FOREIGN KEY und CONSTRAINT.

    Wozu genau ist Letzteres da? Die MySQL-Doku ist da nicht sehr auskunftsfreudig und bei Google finde ich dazu auch nicht sehr viel.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    Ein Constraint ist eine "Bedingung" diese Kann ein Fremdschlüssel also Prüfung auf Referenz Integrität ... oder z.B. ein CHECK Constraint (Prüfregel für einen Attribut Wert) sein.

    MySQL unterstützt derzeit allerdings nur Fremdschlüssen (so mein letzter Stand).

    Theoretische sind auch UNIQUE KEYS und oder NOT NULL Deklarationen Constraints ... aber das nur nebenbei.
    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


    • #3
      Zitat von goth Beitrag anzeigen
      Ein Constraint ist eine "Bedingung" diese Kann ein Fremdschlüssel also Prüfung auf Referenz Integrität ... oder z.B. ein CHECK Constraint (Prüfregel für einen Attribut Wert) sein.

      MySQL unterstützt derzeit allerdings nur Fremdschlüssen (so mein letzter Stand).
      Meiner auch. Die Prüfung auf referentielle Integrität findet statt, Sachen wie CHECK werden dagegen nicht unterstützt. Aber wieso taucht das dann in der verdammten Doku auf? Ist das nur wegen des SQL-Standards?

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Ja, meines Wissens wurden vor ein paar Jahren diverse Fragmente aus Kompatibilitätsgründen zum Standard implementiert.
        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


        • #5
          Zitat von goth Beitrag anzeigen
          Ja, meines Wissens wurden vor ein paar Jahren diverse Fragmente aus Kompatibilitätsgründen zum Standard implementiert.
          Danke

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Hallo,

            alles bisher gesagte kann ich bestätigen und wollte nur anmerken, dass MySQLs InnoDB aus jedem Foreign Key auch gleich einen Foreign Key Constraint macht, egal ob man das Schlüsselwort explizit benutzt oder nicht.

            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

            Lädt...
            X