SQL: Übertragen von Daten aus einem Datensatz in andere(n)

jspranger

Grünschnabel
Hallo, allerseits.

Ich möchte den Inhalt eines Feldes (tabelle.beschreibung) in eine größere Anzahl anderer Datensätze übertragen. Ich bräuchte also in mySQL etwas in der Art:

for i := x to y do
tabelle.beschreibung := tabelle[z].beschreibung;

Vielen Dank im Voraus und ein schönes verlängertes Wochenende.
Jürgen
 
Ich weiß nicht, warum, aber beim Posten ist mir jedesmal die Laufvariable "i" aus "tabelle.beschreibung" rausgeflogen, aber ich denke Ihr versteht auch so, was ich meine.
 
Warum ein for?
SQL:
UPDATE tablle1 t1, tabelle2 t2
SET t1.beschreibung = t2.beschreibung
WHERE t1.t2_id = t2.id
 
Vielen Dank! Aber ich habe mich wohl doch nicht so verständlich ausgedrückt, als ich dachte. Deshalb noch einmal mein Problem:
Ich habe in einer Tabelle einen Datensatz "marker" z.B. mit der ID = 100. In dem Datensatz ist ein Feld "Beschreibung". Der Inhalt dieses Feldes soll auf die gleichnamigen Felder in den Datensätzen 101 bis 150 in derselben Tabelle "marker" übertragen werden.
 
SQL:
UPDATE marker SET Beschreibung = (SELECT Beschreibung FROM marker WHERE id = 100) WHERE id BETWEEN 101 AND 150;

Grüsse,
BK
 
Hallo, BK.

Vielen Dank. - Leider bringt mir das folgende Fehlermeldung, die mir nicht weiterhilft:

Statische Analyse:

1 Fehler wurden während der Analyse gefunden.
  1. Eine neue Anweisung wurde gefunden, aber kein Trennzeichen zwischen ihm und dem vorhergehenden. (near "SELECT" at position 34)
SQL-Befehl:

UPDATE marker SET Beschreibung = (SELECT Beschreibung FROM marker WHERE id = 100) WHERE id BETWEEN 101 AND 150

MySQL meldet:

#1093 - You can't specify target table 'marker' for update in FROM clause
 

Neue Beiträge

Zurück