Wie verbinde ich zwei Tabellen in einer UPDATE-Anweisung?

7

Betrachten Sie die folgenden Tabellen: "Benutzer" und "Tweets"

%Vor%

Ich möchte die "Tweets" -Tabelle aktualisieren, indem ich alle Tweets von SUSPENDED-Benutzern als Spam markiere. Im obigen Beispiel würden also Tweets mit den Tweets 1, 2, 4 und 6 als Spam markiert werden, indem der "Spam" -Wert von 0 auf 1 aktualisiert wird.

Ich habe Probleme, die beiden Tische zu verbinden. Bis jetzt musste ich nur SELECT-Anweisungen beifügen, aber das scheint lästiger zu sein:

%Vor%

Das geht sicher nicht ... wer könnte mir in die richtige Richtung zeigen?

    
Pr0no 31.03.2012, 15:25
quelle

3 Antworten

20

Sie sind auf dem richtigen Weg, aber Sie müssen ein JOIN zwischen den Tabellen angeben:

%Vor%     
Michael Berkowski 31.03.2012, 15:27
quelle
2

Das sollte es tun:

%Vor%

Sie können JOIN generell in einem UPDATE genauso verwenden wie in SELECT . Du könntest nicht in der Lage sein, einer Tabelle mit sich selbst in UPDATE beizutreten, und es gibt ein paar andere kleine Macken, aber für grundlegende Sachen wie diese wird es funktionieren, wie du es erwartest.

    
VoteyDisciple 31.03.2012 15:28
quelle
0

Sie haben mit der Beantwortung begonnen, bevor Sie den Typ des von Ihnen verwendeten Servers überprüft haben. Ich weiß, das funktioniert in MS SQL Server. Ich bin mir über MySQL jedoch nicht sicher. Haben Sie nicht MySQL installiert, also versuchen Sie es.

%Vor%     
Dan P 31.03.2012 15:35
quelle

Tags und Links