Insert into

rernanded

Erfahrenes Mitglied
Hi,
brauche INSERT INTO in phpmyadmin um Daten aus Tabelle 'top_alle' Spalte 'spalte1' in Tabelle 'top' Spalte 'feld3' zu übertragen.

Die Datensätze sind in beiden Fällen mit id fortlaufend und identisch durchnummeriert.

Die Werte aus spalte 1 sollen also nicht "wild" einfach hintendran gehängt werden.



Vielleicht so?

INSERT INTO top(feld3) SELECT spalte1 FROM top_alle WHERE id=id

Oder so:

INSERT INTO top(feld3) VALUES SELECT top_alle spalte1 WHERE id=id

Moni
 
Hi

der Sachverhalt ist noch nicht ganz klar.

Es gibt also top(id,feld3) und top_alle(id,spalte1)

Gibt es in top schon Einträge mit id´s aber keinen feld3-Werten (und die id´s passen zu top_alle),
oder ist top noch leer (bzw. nur andere id´s)?

Und/Oder sollen in top neue Nummern vergeben werden, aber die Reihenfolge gleich bleiben?
Ist die id von top auto_increment?
 
Das ist eigentlich eher ein MySQL Problem als PHP.
Willst du die alten Daten überschreiben?
SQL:
INSERT INTO top (id, feld3) SELECT top_alle.id, top_alle.spalte1 FROM top_alle ON DUPLICATE KEY UPDATE SET top_feld3 = top_alle.spalte1

Das ist ungetestet, sollte aber so (oder so ähnlich) bereits vorhandene Dateien überschreiben und ansonsten hinten anhängen.
 
Danke. Danke.
Habe es gelöst:

UPDATE top
SET feld3 =
(
SELECT spalte1
FROM top_alle
WHERE top_alle.id = top.id
)

Moni
 
Zurück