• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

mysql-problem

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
hi,
ich habe zwei tabellen, table1 und table2. jetzt moechte ich von der einen tabelle einen wert einer bestimmten zeile in eine zelle einer bestimmten zeile der zweiten tabelle kopieren.

im prinzip sowas:

PHP:
$sql = "UPDATE `table1` SET `wert1`=`table2.wert2` WHERE `table1.id`='bar' AND WHERE `table2.id`='foo';";
das funktioniert so nicht.

mein problem ist also, dass ich in zwei tabellen jeweils eine aus mehreren zeilen auswaehlen muss und dann erst SETten kann.

ist das so loesbar wie ich mir das vorstelle? oder muss ich den sehr unangenehmen umweg gehen das erst auszulesen? thx!
 

Sas~iN~LoVe

Guest
Das geht irgendwie bei jedem DBMS anders, kann sein, dass es bei MySQL sogar in Abhängigkeit von der DB-Engine unterschiedlich funktioniert, aber Google sagt:
You can also perform UPDATE operations covering multiple tables. However, you cannot use ORDER BY or LIMIT with a multiple-table UPDATE. The table_references clause lists the tables involved in the join. Its syntax is described in Section 13.2.7.1, “JOIN Syntax”. Here is an example:
Code:
UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
naja, ich habe bloss halt zwei unterschiedliche WHEREs, da keine aequivalenten ids benutzt werden. wie, bzw ob man die in einem statement unterbringen kann um bestimmte zeilen auszuwaehlen, hab ich bisher nirgends gefunden
 

Sas~iN~LoVe

Guest
Hast du einfach mal analog
Code:
UPDATE table1, table2 SET table1.wert1=table2.wert2 WHERE table1.id='bar' AND table2.id ='foo';
probiert?
(Mehrere Einschränkungen ergeben grundsätzlich trotzdem immer nur eine WHERE-Klausel, in der die einzelnen Bedingungen dann AND-verknüpft werden.)
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
obiger befehl:

#1054 - Unknown column 'table1.wert1' in 'field list'

sagt mir nichts :/

aber: danke fuer die tipps
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
hm, jetzt gehts. :)
irgendwas hatte ich trotz erstem gruendlichen tippen falsch gemacht. nu lueppts prima. danke!
 
Oben