2010-12-10 9 views
1

Ich weiß, dass diese Frage wurde schon einmal gefragt und beantwortet, aber ich bin mir noch nicht sicher, ob dies möglich ist.Update Benutzer-ID-Spalte in mehreren MySQL-Tabellen

Ich versuche, 9 Tabellen zu aktualisieren eine Änderung User_id Wert zu reflektieren, ein bisschen wie folgt aus:

UPDATE table1, table2, table3, table4 SET 
table1.id='12', table2.id='12', table3.id='12', table4.id='12' 
WHERE table1.id='15' OR table2.id='15' OR table3.id='15' OR table4.id='15' 

Ist das möglich? Habe ich etwas wirklich Offensichtliches verpasst?

Antwort

0

Die Syntax von UPDATE ist

UPDATE table_name 
SET column1=value, column2=value2,... 
WHERE some_column=some_value 

es scheint, dass Sie zu einem Zeitpunkt nur eine Tabelle aktualisieren.

+0

ist es möglich: http://dev.mysql.com/doc/refman/5.0/en/update.html –

+0

Sie haben Recht! Es ist irgendwie komisch. Ist es auch tragbar? Ich habe einen JOIN in der WHERE-Klausel und EXISTS, aber nie 2 Tabellen verwendet. –

0

Update-Anweisung ist sehr ähnlich zu wählen, so sollten Sie in der Lage sein, das zu tun!

Allerdings empfehle ich die Verwendung von Triggern.

0

Änderung OR zu AND Sonst werden Sie in dem Problem sein. viele andere Benutzer-IDs

UPDATE table1, table2, table3, table4 SET 
table1.id='12', table2.id='12', table3.id='12', table4.id='12' 
WHERE table1.id='15' AND table2.id='15' AND table3.id='15' AND table4.id='15' 
+0

Das ist ein sehr guter Punkt! Nicht ganz sicher, wie ich das verpasst habe ... leider funktioniert die Verwendung von AND nicht, da die ID nicht in jeder Tabelle ist (dh kein Benutzer hat einen Eintrag in Tabelle4) – Jon

+0

Warum verwenden Sie diese Tabellen in SQL Statement? –

+0

Damit ich in jeder Tabelle keinen Eintrag überprüfen muss, bevor ich sie aktualisiere. – Jon

Verwandte Themen