id
が等しい_table1
_のデータで_table2
_を更新する方法は?
次の更新ステートメントを実行すると、_table1
_のすべてのレコードが更新されます(_table1
_のid
フィールドが_table2
_に存在しない場合でも)。
複数の更新テーブル構文を使用して、id
が_table1
_に存在し、等しい場合にのみ_table2
_のレコードのみを更新するにはどうすればよいですか?
_UPDATE table1,table2
SET table1.value=table2.value
WHERE table2.id=table1.id
_
前もって感謝します。
UPDATE
に結合したMySQL
の正しい構文は次のとおりです。
UPDATE table1 a
INNER JOIN table2 b
ON a.ID = b.ID
SET a.value = b.value
これを試すことができます:
UPDATE TABLE1
SET column_name = TABLE2.column_name
FROM TABLE1, TABLE2
WHERE TABLE1.id = TABLE2.id
UPDATE table1
SET table1.value = (select table2.value
WHERE table2.id=table1.id)