Werte von einer Tabelle zu einer anderen übertragen

Martin-LF

Neuer Benutzer
Beiträge
3
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.
 
Werbung:
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.

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.
 
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:
Ich hatte die Umfragen in einem Forum bei einem Update versehentlich 3 mal von alten ins neue Forum importiert.

Wenn ich das Backup das leider ein paar tage alt ist

Niemand will Backup, jeder will Restore ;-)

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

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

Konkrete Frage?
 
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.

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.
 
Werbung:
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.
 
Zurück
Oben