Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Werte von einer Tabelle zu einer anderen übertragen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Martin-LF, 1 Februar 2014.

  1. Martin-LF

    Martin-LF Neuer Benutzer

    Sorry für die, für einen Profi, wohl dummen Frage. Aber ich Komme selbst einfach nicht weiter.

    Ich habe eine Tabelle wcf1_poll

    Wenn jetzt der Wert in der Spalte objectID z.B. 123456 ist und der dazugehörige Wert pollID 123 ist

    soll in der Tabelle wbb1_post
    wenn die Spalte postID auch 123456 ist dort in die Spalte pollID auch die 123 geschrieben werden.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Code:
    test=*# select * from a;
     id | value
    ----+-------
      1 |  10
      2 |  20
      3 |  30
    (3 rows)
    
    Time: 0,203 ms
    test=*# select * from b;
     id | value
    ----+-------
      1 |
      2 |
      3 |
    (3 rows)
    
    Time: 0,199 ms
    test=*# update b set value = a.value from a where a.id=b.id;
    UPDATE 3
    Time: 0,412 ms
    test=*# select * from a;
     id | value
    ----+-------
      1 |  10
      2 |  20
      3 |  30
    (3 rows)
    
    Könnte sein, daß das sogar in MySQL funktioniert, probier es aus.

    Davon abgesehen: das ist redundant und damit sehr wahrscheinlich ein Designfehler bei Dir.
     
  3. Hony%

    Hony% Datenbank-Guru

    Nicht nur wahrscheinlich sondern sogar ganz sicher. So ein Design schreit ja geradezu nach nach mindestens UPDATE und möglichen DELETE Anomalien.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Kommt drauf an, vielleicht braucht er es nur einmalig um bestimmte Dinge aufzuräumen oder so.
     
    Hony% gefällt das.
  5. Martin-LF

    Martin-LF Neuer Benutzer

    Ich hatte die Umfragen in einem Forum bei einem Update versehentlich 3 mal von alten ins neue Forum importiert.
    Dann habe ich in der Tabelle die doppelten Einträge gelöscht, leider auch diejenigen die mit der Tabelle wbb1_post verknüpft waren, da wurden dann die Einträge in der Spalte pollID auch gleich mit gelöscht.
    Jetzt habe ich zwar die wcf1_poll wieder aus einem Backup wieder hergestellt und auch die richtigen beiden Einträge wieder herausgelöscht, die Verknüpfung in der wbb1_post fehlen aber noch immer. Wenn ich das Backup das leider ein paar tage alt ist auch für die wbb1_post aufspiele fehlen dann leider die neuestens Einträge.
    Mit dem Tipp von akreschmer hat es leider nicht geklappt, vielleicht bin ich aber auch nur zu blöd um ihn umzusetzen.
    Jetzt versuche ich es noch mit "Daten aktualisieren" vielleicht holt sich das Forum die Umfragedaten auch wieder selbst aus der Datenbank, wenn es nicht klappt bleibt mir nur diese Lösung mit einem SQL Befehl.

    Über Tipps wäre ich daher trotzdem weiter dankbar.

    Also wcf1_poll

    objectID | pollID
    -----------+-------
    123456 | 123
    123457 | 124
    123458 | 125


    Jetzt in wbb1_post
    postID | pollID
    ---------+-------
    123456 | NULL
    123457 | NULL
    123458 | NULL


    Nachher in wbb1_post

    postID | pollID
    ---------+-------
    123456 | 123
    123457 | 124
    123458 | 125
     
    Zuletzt bearbeitet: 1 Februar 2014
  6. akretschmer

    akretschmer Datenbank-Guru

    Niemand will Backup, jeder will Restore ;-)

    Lerne draus, vor solchen Aktionen einen Dump zu ziehen. Und mit Transaktionen arbeiten.

    Konkrete Frage?
     
  7. Hony%

    Hony% Datenbank-Guru

    Da bliebe vielleicht die Möglichkeit die aktuelle Tabelle mit der vom Backup zu vereinen. Nachdem du eh am "offenen Herzen" operierst kann es ja kaum noch schlimmer werden. Zumindest wenn du von der aktuellen Situation ein Backup machst.
     
  8. Martin-LF

    Martin-LF Neuer Benutzer

    Hat sich erledigt.
    Ich habe jene Posts mit einer Umfrage aus einem Backup extrahiert und per UPDATE neu eingespielt.

    Mit so einem SQL-Befehl wäre es für einen Profi aber sicher einfacher und schneller gegangen.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden