You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL/MariaDB中用另一表数据替换指定行的列值?

嘿,这个需求用MariaDB的UPDATE JOIN语法就能轻松搞定,我给你整理好具体的实现步骤和注意事项哈:

核心解决方案

直接在MySQL Workbench里运行下面的SQL语句就能完成替换:

UPDATE table1
JOIN table2 ON table1.id = table2.id
SET table1.name = table2.name
WHERE table1.id BETWEEN 3 AND 9;
语句逻辑拆解
  • UPDATE table1:明确我们要修改的目标表是table1
  • JOIN table2 ON table1.id = table2.id:通过id字段将两张表关联,保证只有id匹配的行才会被替换,避免乱改数据
  • SET table1.name = table2.name:把table2里对应id的name值,覆盖到table1的name列上
  • WHERE table1.id BETWEEN 3 AND 9:精准限定只更新id从3到9的行,完全符合你的需求范围
安全操作建议

为了避免误操作,建议你先执行下面的SELECT语句,提前确认要更新的旧值和新值是否匹配:

SELECT 
  table1.id, 
  table1.name AS 原name值, 
  table2.name AS 要替换的新name值
FROM table1
JOIN table2 ON table1.id = table2.id
WHERE table1.id BETWEEN 3 AND 9;

确认结果没问题后,再执行上面的UPDATE语句就稳了~另外,如果table2里缺少某个id(比如id=5不存在),那table1里对应id的行不会被修改,这点不用担心。

内容的提问来源于stack exchange,提问作者Freddy19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:45:40