【DB_MySQL】MySQL多表关联更新
MySQL 多表关联更新(UPDATE JOIN)最实用写法
一、标准语法(最常用)
1 | UPDATE 表1 |
二、最常用示例(你直接套)
示例 1:根据用户 ID,把 user 表的昵称更新成 order 表的收货人
1 | UPDATE user u |
示例 2:多字段同时更新
1 | UPDATE user u |
示例 3:左关联更新(没有匹配也更新为 NULL)
1 | UPDATE user u |
三、带条件 + 只更新符合条件的数据(最安全)
1 | UPDATE product p |
四、关联更新时匹配到多条数据的处理方案
**如果 1 条主表记录 匹配到多条从表记录**
**MySQL 只会随机取其中 1 条记录的值来更新,其他会被忽略!**
**只取第一条关联上的(不能确定具体是哪一条)**
不会报错
不会合并数据
不会更新多次
五、3 个关键点(必看)
- **必须写 JOIN + ON 关联条件**,否则会全表乱更新
- **SET 必须指定表名**:
表1.字段 = 表2.字段 - **一定要加 WHERE**,否则更新全表
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 咱村唯一架构师!