3 Stimmen

Problem mit der MySQL-Update-Abfrage

Ich weiß, dass es etwas mit der Syntax zu tun hat, aber ich suche nach einer Möglichkeit, das Folgende zu tun:

UPDATE modules
SET ServerID = boards.ServerID
FROM boards,modules
WHERE modules.ID = boards.ID

das funktioniert nicht. Ich verwende MySQL

3voto

Gajahlemu Punkte 1223

Versuchen Sie dies:

UPDATE boards,modules
SET modules.ServerID = boards.ServerID
WHERE modules.ID = boards.ID

Lesen Sie die MYSQL UPDATE-Syntax unter http://dev.mysql.com/doc/refman/5.0/en/update.html

Sie können auch UPDATE-Operationen für mehrere Tabellen durchführen ....

UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;

Das vorangehende Beispiel zeigt eine innere Verknüpfung, die das Komma verwendet Operator verwendet, aber UPDATE-Anweisungen für mehrere Tabellen können jeden Typ von Join verwenden, der in SELECT-Anweisungen erlaubt ist, wie z. B. LEFT JOIN.

1voto

Cliff Punkte 1521
UPDATE modules
SET ServerID = (SELECT b.ServerID FROM boards b WHERE b.ID = modules.ID)

1voto

Phil Punkte 140763
UPDATE modules
INNER JOIN boards
ON modules.ID = boards.ID
SET modules.ServerID = boards.ServerID

-1voto

galchen Punkte 5212

Die UPDATE-Syntax enthält keine FROM

FROM ist für SELECT gedacht.

wenn Sie beides kombinieren möchten:

UPDATE modules SET ServerID = (SELECT boards.ServerID FROM boards WHERE boards.ID = modules.ID)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X