mysql 多表联合更新

ゝ一纸荒年。 2022-05-24 23:28 378阅读 0赞
  1. 在实际工作中我们经常碰到一些业务要更新多张有关联的表数据,如果单独更新每张表,不仅降低效率而且容易出错,所以在mysql 4.0.4 开始支持多个表的update操作。
  2. 假设有两张表 table1 table2 关联关系为 table1.t2\_id = table2.t1\_id
  1. 将table1 中价格更新为table2价格的80%。

    UPDATE table1 t1, table2 t2
    SET t1.price = t2.price * 0.8
    WHERE t1.t2_id = t2.t1_id

2.将table1 中价格更新为table2价格的80%,同时更新 table2 中update_date 。

  1. UPDATE
  2. table1 t1
  3. INNER JOIN table2 t2
  4. ON t1.t2_id = t2.t1_id
  5. SET t1.price = t2.price * 0.8,
  6. t2.update_date = NEW ()

注意:多表 UPDATE 不可以使用 ORDER BY 或 LIMIT。

发表评论

表情:
评论列表 (有 0 条评论,378人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL联合查询复杂性挑战

    在MySQL中,多表联合查询可能会面临以下复杂性挑战: 1. 数据冗余:如果多个表有重复的数据,联合查询时需要处理这些重复,这可能导致查询复杂度增加。 2. 等值连接条件:

    相关 mysql 联合更新

            在实际工作中我们经常碰到一些业务要更新多张有关联的表数据,如果单独更新每张表,不仅降低效率而且容易出错,所以在mysql 4.0.4 开始支持多个表的updat