Sql werte von einer tabelle auf die andere übertragen?

1 Antwort

Ich bin jetzt auch nicht der beste, aber das könnte helfen:

UPDATE posts

SET posts.user_id = accounts.user_id

FROM accounts

WHERE posts.username = accounts.username;

Diese Anweisung sagt der Datenbank, dass sie die "user_id" in der Tabelle "posts" aktualisieren soll, indem sie die "user_id" aus der Tabelle "accounts" verwendet, wenn der "username" in beiden Tabellen übereinstimmt.

Vergiss nicht, vorher eine Datensicherung durchzuführen, falls etwas schief geht, da UPDATE-Anweisungen Daten in der Datenbank ändern können.

FritzboxCable 
Fragesteller
 10.09.2023, 13:13

Danke aber gab leider Fehler, hab mich dann entschieden es doch chat gpt zu schicken.

dachte das wäre zu komplex für ihn aber nach 3 versuchen hat ers geschafft :

UPDATE posts INNER JOIN accounts ON posts.username = accounts.username SET posts.user_id = accounts.user_id;

0
M200M  10.09.2023, 16:51
@FritzboxCable

Tut mir leid, dass ich dir nicht helfen konnte, es freut mich allerdings, dass es letztendlich doch geklappt hat.

2
Suboptimierer  11.09.2023, 10:09
@M200M

Dein Ansatz war nicht komplett falsch, wenn du ihn einmal mit der Lösung von ChatGPT vergleichst.

Dein Ansatz geht in Richtung Subselect:

UPDATE posts
SET posts.user_id = (select accounts.user_id
FROM accounts
WHERE posts.username = accounts.username)
;

0