PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   SQL / Datenbanken (https://www.php-resource.de/forum/sql-datenbanken/)
-   -   Eine Spalte mit Werte aus einer anderen db überschreiben (https://www.php-resource.de/forum/sql-datenbanken/89334-eine-spalte-mit-werte-aus-einer-anderen-db-ueberschreiben.html)

startman 09-01-2008 18:10

Eine Spalte mit Werte aus einer anderen db überschreiben
 
Ich möchte in einer Tabelle eine Spalte mit Werten aus einer anderen Tabelle überschreiben, dabei sollen die id's übereinstimmen. Wie mache ich das? Ich dachte an soetwas:

UPDATE erste_tabelle SET spalte=zweite_tabelle.spalte WHERE erste_tabelle.id = zweite_tabelle.id

oder muss ich für jede Zeile einen eigenen Befehl basteln? Das kann bei 5000 Datensätzen schon sehr aufwändig werden.

ZombieChe 09-01-2008 20:14

Geht mit nem Subselect

PHP-Code:

UPDATE erste_tabelle AS erste SET spalte = (SELECT spalte FROM zweite_tabelle AS zweite WHERE erste.id zweite.id


H2O 10-01-2008 11:07

Dein Vorschlag ist schon fast perfekt, fehlt einfach die zweite Tabelle nach dem UPDATE:
Code:

UPDATE
        erste_tabelle t1,
        zweite_tabelle t2
SET
        t1.spalte = t2.spalte
WHERE
        t1.id = t2.id

Der Einfachheit halber benutze ich Aliases, geht ntürlich auch ohne. Und startman geht natürlich auch, ist aber vermutlich weniger effizient.

PS
Was hindert dich eigentlich im Handbuch nachzusehen, wo fast genau dein Beispiel steht?


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:45 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG