Announcement

Collapse
No announcement yet.

Prüfung auf Feldinhalt muss in anderer Splate vorhanden sein

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

  • Prüfung auf Feldinhalt muss in anderer Splate vorhanden sein

    Hallo!

    Kann ich einer MySQL DB sagen, das zB die Inhalte in Tabelle ABC, Spalte B nur Werte sein dürfen die in Tabelle "XYZ" in Spalte "C" mind. einmal vorkommen?

    Gehts sowas oder muss ich das selbst coden? Leider weiß ich nicht genau wonach ich hierbei in der Doku suchen soll.

    Danke!

    Juergen

  • #2
    Hallo,

    sowas nennt sich Fremdschlüssel oder Neudeutsch FOREIGN KEY.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Meine MySQL rennt auf InnoDB weil mir gesagt wurde ich kann da Beziehungen setzen, damit man bei der Verwaltung (Wartung) der Tabellen (editieren) bei Feldern die nur die ID haben quasi einen JOIN auflösen, also wenn man Daten einträgt dann muss man nicht die ID heraussuchen, sondern kann zB den MItarbeiter mittels DropDown auswählen.

      Ich finde dazu keine Doku, hat hier jemand eine Ahnung wie das geht. Eigenltich wollte ich ein generisches PHP-Backend Tool, aber sowas wie für ASP die genericDB gibt es scheinbar nicht in PHP. Daher hab ich den Tipp mit InnoDB bekommen, komme jetzt aber nicht mehr weiter.. Seite läuft, MySQL meldet als Type auch InnoDB aber wie setzt ich die Beziehungen?

      Danke!

      Comment


      • #4
        InnoDB ist schon richtig, da es die MySQL-Engine ist die solche Foreign Keys unterstützt. Wie es geht steht in der Doku, Link hast du ja schon.

        und, ähmm...
        Originally posted by hausl78 View Post
        Meine MySQL rennt auf InnoDB weil mir gesagt wurde ich kann da Beziehungen setzen, damit man bei der Verwaltung (Wartung) der Tabellen (editieren) bei Feldern die nur die ID haben quasi einen JOIN auflösen, also wenn man Daten einträgt dann muss man nicht die ID heraussuchen, sondern kann zB den MItarbeiter mittels DropDown auswählen.
        Das solltest du nochmal in verständlichem Deutsch formulieren!

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Danke und sorry..

          Also es geht darum, das man für so eine Anwendung ja oftmals die DB-Tabellen warten will/muss/kann (neue Daten eintragen etc..)

          Nun ist es nicht lustig für jede Anwendung einen eignen Backend bereich auszuprogrammieren. Daher hatte ich in einem PHP Forum gefragt ob es sowas wie ein generisches DB-Edit-Tool gibt das man mit kleinen Einstellungen in einer config Datei zB auf eine MySQL -DB loslassen kann.

          Da erhielt ich als Hinweis eben phpMyAdmin und InnoDB, weil es damit angeblich funktionieren soll auch Verknüpfungen zu setzen - vgl. wie bei einem INNER JOIN, also wenn ich eine Tabelle zB Mitarbeiter habe und eine Tabelle Autos und ich pflege einem Mitarbeiter ein neues Auto ein, dann muss man ja richtigerweise die ID des Mitarbeiter erfassen und das ist dann bei umfangreicheren Projekten etwas mühsam. Daher wäre es super (und soll funktionieren) wenn man diese Verknüpfungen setzt, das man dann im phpMyAdmin zB beim neu anlegen eines Autos ein DropDown bekommt wo man dann den MA auswählern kann im Hintergrund aber die ID geschrieben wird.

          Juergen

          Comment


          • #6
            Und was ist nun dein Problem?
            Das Anlegen des Foreign Key (dazu siehe die MySQL-Doku) oder das Benutzen dieses phpMyAdmin-Features (dazu siehe die phpMyAdmin-Doku)?

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Momentan noch Beides.. Kann man das mit dem MySQL Workbench auch einrichten, wenn man auf die DB kann?

              -> Ich wollt zuerst Wissen ob es tatsächlich funktioniert nicht das ich mich da reinarbeite und herummurkse und dann "kann" es das gar nicht..

              -> SQL muss ich versuchen - bin grad nicht am PC wo das läuft

              -> Ich find das nicht in der Doku von pypMyAdmin, irgendiwie ist die Doku seltsam.. da ist die MySQL oder von PHP schon um einiges besser...
              Muss ich noch suchen.. später..

              -----------
              //EDIT: Hab gesehen das man dafür in die myPhpAdmin .config muss, da komm ich bei mir ja sowieso nicht hin, Thema hat sich damit erledigt.
              Zuletzt editiert von hausl78; 11.08.2010, 07:57.

              Comment

              Working...
              X