# Datenbanktabelle kopieren



## vodn7v (26. Apr 2011)

Hallo,
ich möchte gerne eine den Inhalt einer Datenbanktabelle kopieren und dabei die Zieltabelle aktualisieren.

Beide Tabelle sehen gleiche aus.

INSERT INTO ZielTabelle SELECT * FROM SourceTabelle

so in der Art, nur dass ich kein Insert, sondern ein update auf die Zieltabelle machen will mit den Daten aus der Sourcetabelle und dabei 2 Felder als Key nehmen möchte.

Das war mein Vorschlag, der aber so nicht funktioniert.

UPDATE ZielTabelle SET * (SELECT * FROM SourceTabelle WHERE ZielTabelle.Feld1 = SourceTabelle.Feld1 AND ZielTabelle.Feld2 = SourceTabelle.Feld2)

Könnt ihr mir sagen ob sowas überhaupt möglich ist?

Danke !


----------



## srea (26. Apr 2011)

Versteh ich nicht. Kannst du mal bitte genauer erklären was du machen möchtest?
Hat deine ZielTabelle schon einträge und du willst die ALLE updaten?

Zum aktualisieren von bestimmten in "ZielTabelle":

```
UPDATE ZielTabelle SET Spalte1 = (SELECT Spalte1 FROM SourceTabelle), 
Spalte2 = (SELECT Spalte2 FROM SourceTabelle)  
WHERE ZielTabelle.Feld1 = SourceTabelle.Feld1
```

PS: Update ohne Where = gaaaanz böse!!


----------



## nrg (26. Apr 2011)

das was du suchst ist denke ein 
	
	
	
	





```
insert into ... on duplicate key update
```
. nur geht das imho nicht in allen dbms.


----------

