Re: Daten zwischen Tabellen kopieren mit beidseitiger WHERE-Bedingung
Eine Fehlermeldung hätte ich auch erwartet. Ich war nur völlig überrascht, dass Folgendes bei mir ging:
mysql> SELECT * FROM a;
+------+---------+------+
| id | titel | kom |
+------+---------+------+
| 1 | Titel 1 | kom1 |
| 2 | Titel 2 | kom2 |
| 3 | Titel 3 | kom3 |
+------+---------+------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM b;
+------+--------+------+
| id | kom | idb |
+------+--------+------+
| 2 | bKom 2 | 10 |
| 1 | bKom 1 | 11 |
| 5 | bKom 5 | 12 |
+------+--------+------+
3 rows in set (0.00 sec)
mysql> UPDATE a SET kom=(SELECT kom FROM b WHERE a.id=b.id);
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> SELECT * FROM a;
+------+---------+--------+
| id | titel | kom |
+------+---------+--------+
| 1 | Titel 1 | bKom 1 |
| 2 | Titel 2 | bKom 2 |
| 3 | Titel 3 | NULL |
+------+---------+--------+
Ich weiß auch nicht, ob man überhaupt einen UPDATE-Loop erzeugen kann, aber über eine neue Tabelle komst Du vielleicht ans Ziel:
CREATE TABLE c (id INT, titel CHAR(10), kom CHAR(10));
INSERT INTO c SELECT a.id, a.titel, b.kom FROM a, b WHERE a.id=b.id;
mysql> SELECT * FROM c;
+------+---------+--------+
| id | titel | kom |
+------+---------+--------+
| 2 | Titel 2 | bKom 2 |
| 1 | Titel 1 | bKom 1 |
+------+---------+--------+
2 rows in set (0.00 sec)
P.S.:
Gibt's hier im Forum eigentlich irgendwelche Tags, um einen monospaced Font einzustellen? HTML und {code} gehen jedenfalls nicht.
Subject
Views
Written By
Posted
3727
November 04, 2010 04:49AM
1245
November 05, 2010 02:51AM
1311
November 05, 2010 07:30AM
Re: Daten zwischen Tabellen kopieren mit beidseitiger WHERE-Bedingung
1994
November 05, 2010 12:14PM
1953
November 05, 2010 02:06PM
1210
November 05, 2010 06:19PM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.