2016-07-22 12 views
0

Ich habe folgenden drei TabellenMYSQL Abfrage zu aktualisieren, Daten in drei Tabellen

Table1 

+------+--------+ 
| GID | Active | 
+------+--------+ 
| 110 | Yes | 
+------+--------+ 
GID is primary key 

Table2 

+------+--------+ 
| UID | Active | 
+------+--------+ 
| 110 | Yes | 
| 110 | Yes | 
+------+--------+ 

Table3 

+------+--------+ 
| FID | Active | 
+------+--------+ 
| 110 | Yes | 
| 110 | Yes | 
+------+--------+ 

I 3 Tabellen mit allen Wert des Feldes auf ‚no‘ Aktiv aktualisieren möchten, wie kann ich das erreichen? Ihre Vorschläge werden sehr geschätzt, ich hoffe, dass die gegebenen Informationen nachher zu einem Abschluss kommen?

Weitere Informationen: - Im Folgenden ist die Abfrage, die ich jetzt in Tabelle1 ausführe.

$id = 110; 
    UPDATE table1 SET active = 'no' WHERE gid = {$id}" 
+0

Haben Sie alle Werte von 'Active' in allen Tabellen machen wollen' No' bedingungslos oder gibt es einige Bedingungen? Es ist nicht ganz klar aus der Frage –

+0

Mögliches Duplikat von [MySQL, mehrere Tabellen mit einer Abfrage aktualisieren] (http://stackoverflow.com/questions/4361774/mysql-update-multiple-tables-with-one-query) – KaeL

+0

@Tirgan .. Ich habe die Frage bearbeitet, können Sie das bitte überprüfen? – Tom

Antwort

0

Dies ist, wie alle Zeilen mit angegebenen ID zu aktualisieren:

UPDATE 
    Table1, Table2, Table3 
SET 
    Table1.Active = 'No', 
    Table2.Active = 'No', 
    Table3.Active = 'No' 
WHERE 
    Table1.GID = Table2.UID 
AND Table2.UID = Table3.FID 
AND Table3.FID = 110; 
+0

Klingt sehr gut :) Danke – Tom