在 MySQL 中更新多个具有相似值的表
在有两个表需要进行相同更新以进行非规范化的情况下,您可以使用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 和 cover 值增量更新。请注意,Table_Two 中不存在“盖子”列,因此其值不会更新。
其他注意事项:
以上是如何在MySQL中高效更新多个具有相似值的表?的详细内容。更多信息请关注PHP中文网其他相关文章!