phpmyadmin Daten kopieren

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

  • phpmyadmin Daten kopieren

    Hallo

    Ich stehe vor folgender Aufgabe:

    Ich habe 2 Tabellen:

    benutzer (Enthält: benutzer_id, name, vorname etc.)

    benutzer_daten (Enthält: benutzer_id, weitere Daten).

    Das Ziel ist nun, dass ich wenn ich via php meine Datenbankabfrage mache, dass ich Daten aus beiden Tabellen abfragen kann bezüglich einer Person, also zusammen gehörende Daten.

    Zur Identifikation der Daten habe ich in beiden Tabellen die Spalte benutzer_id angelegt.
    Diese wird in der Tabelle benutzer übers auto increament fortgeführt.


    Ich möchte es nun erreichen, dass die benutzer_id aus der Tabelle benutzer auch in die Tabelle benutzer_daten in benutzer_id geschrieben wird, möglichst automatisiert, damit klar ist, welche Daten zu welchem Benutzer gehören. Quasi als Indentifikation. Die Tabelle benutzer_daten ist bis dahin leer, da diese erst die Daten aufnehmen soll, wenn die benutzer_id vorhanden ist. Deswegen ist diese Identifikation so wichtig für mich.

    Ist das mit phpmyadmin machbar?
    Danke im vorraus

    Grüße comein

  • #2
    IMHO nicht.

    Das würde zudem voraussetzen, dass MySQL oder PMA weiß, in welcher Beziehung 1:1 die beiden Tabellen miteinander stehen. Das kannst du aber imho nicht hinterlegen.

    Kommentar


    • #3
      Ok trotzdem danke für die Antwort.

      Habe schon eine alternative lösung im Kopf, macht es nur bissel komplizierter

      Grüße comein

      Kommentar


      • #4
        Du kannst es mit Views und/oder Trigger versuchen. Ich weiß allerdings nicht, inwiefern phpMyAdmin beides unterstützt.

        Kommentar


        • #5
          Wozu überhaupt 2 Tabellen? Sollte eine Normalisierte Datenbank 1:1-Beziehungen nicht in einer Tabelle unterbringen? Wo ist das Problem die Daten des Benutzers auch in dessen Tabelle zu speichern?
          MFG Stephan

          Kommentar


          • #6
            mysql_insert_id klappt nicht

            Hallo

            So habe nun versucht einen mit auto increament kreierten Wert der als ID dient in einer anderen Tabelle zu nutzen, ebenfalls als ID.

            Leider taucht nun das problem auf, dass in Tabelle 1 und 2 unterschiedliche Werte auftauchen und nicht die gleichen ID's, was eigentlich nicht sein kann, irgendwo muss der Wert ja herkommen

            Hier mal die Schnippsel:

            PHP-Code:
            if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "registrierung_form")) {
              
            $insertSQL sprintf("INSERT INTO benutzer (geschlecht, vorname, nachname, geburtstag, plz, wohnort, email, telefon,  passwort) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, PASSWORD(%s))",
                                   
            GetSQLValueString($_POST['geschlecht'], "text"),
                                   
            GetSQLValueString($_POST['vorname'], "text"),
                                   
            GetSQLValueString($_POST['nachname'], "text"),
                                   
            GetSQLValueString($_POST['geburtstag'], "date"),
                                   
            GetSQLValueString($_POST['plz'], "text"),
                                   
            GetSQLValueString($_POST['wohnort'], "text"),
                                   
            GetSQLValueString($_POST['email'], "text"),
                                   
            GetSQLValueString($_POST['telefon'], "text"),
                                   
            GetSQLValueString($_POST['passwort1'], "text"));    




             
            $id mysql_insert_id();    
                                       
                                   
            mysql_query ("INSERT INTO benutzer_daten (benutzer_id) VALUES ($id)"); 
            Hier noch die Daten zur Tabelle.

            Code:
             CREATE TABLE `benutzer` (
              `benutzer_id` int(11) NOT NULL AUTO_INCREMENT,
              `geschlecht` char(200) DEFAULT NULL,
              `vorname` char(200) DEFAULT NULL,
              `nachname` char(200) DEFAULT NULL,
              `geburtstag` date DEFAULT NULL,
              `plz` char(7) DEFAULT NULL,
              `wohnort` char(200) DEFAULT NULL,
              `email` char(200) DEFAULT NULL,
              `telefon` char(200) DEFAULT NULL,
              `passwort` char(200) DEFAULT NULL,
              PRIMARY KEY (`benutzer_id`),
              KEY `usernummer` (`benutzer_id`),
              KEY `benutzer_id` (`benutzer_id`)
            ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=armscii8
            Code:
            CREATE TABLE `benutzer_daten` (
              `benutzer_id` int(11) NOT NULL,
              PRIMARY KEY (`benutzer_id`)
            ) ENGINE=MyISAM DEFAULT CHARSET=armscii8
            Wie gesagt, die ID die ich in Tabelle 1 abfrage, ist eine durch auto increament erzeugte ID, diese wird nicht durch ein INSERT vorweg eingetragen.

            Nur bekomme ich nach der Abfrage in Tabelle 2 nach dem 2. INSERT einen anderen Wert.

            Primary Key ist gesetzt und Auto Increment in Tabelle 1 ebenfalls.

            Danke für die mühe

            Grüße force
            Zuletzt geändert von comein; 25.10.2010, 16:26.

            Kommentar


            • #7
              Immernoch das selbe Problem, sogar die selben Tabelle. *merge*

              PHP-Code in PHP-Tags – bitte editiere deinen letzten Beitrag entsprechend!
              Relevanten PHP-Code posten. Mit dem was du zeigst, kann man nichts anfangen und dir kaum helfen.
              Bei solchen Problemen solltest du stets auch die CREATE-Statements dazu liefern (in Code-Tags).
              Zuletzt geändert von onemorenerd; 25.10.2010, 15:44.

              Kommentar


              • #8
                Problem gelöst, es lag lediglich eine falsche Anordnung im php code vor

                Damit Thema ENDLICH erledigt.

                Kommentar

                Lädt...
                X