MySQL で同様の値を持つ複数のテーブルを更新する
非正規化のために同じ更新を必要とする 2 つのテーブルがあるシナリオでは、次のことを利用できます。 MySQL によって提供されるマルチテーブル更新。このアプローチにより、単一のステートメントで複数のテーブルにまたがる同時更新が可能になります。
これを実現するには:
たとえば、次のクエリを考えてみましょう:
UPDATE Table_One a INNER JOIN Table_Two b ON (a.userid = b.userid) SET a.win = a.win+1, a.streak = a.streak+1, a.score = a.score+200, b.win = b.win+1, b.streak = b.streak+1, b.score = b.score+200 WHERE a.userid = 1 AND a.lid = 1 AND b.userid = 1
ここでは、両方のテーブルの win、streak、score 列が、特定の userid と lid 値に対して増分更新されます。 Table_Two には蓋の列が存在しないため、その値は更新されないことに注意してください。
追加の考慮事項:
以上がMySQL で同様の値を持つ複数のテーブルを効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。