MySQL按ID匹配更新列:将ID 18458的date_email2值复制到指定ID行
实现方法
方法1:单条SQL语句直接批量更新(最快捷,不需要手动复制值)
如果你的数据存在关系型数据库中,直接执行以下SQL即可,注意替换你的表名为实际表名,IN括号内可补充所有需要更新的目标ID:
UPDATE 你的表名 SET date_email2 = ( SELECT date_email2 FROM ( SELECT date_email2 FROM 你的表名 WHERE id = 18458 ) AS temp_tbl ) WHERE id IN (18460, 18468);
注:嵌套两层子查询是为了避免部分数据库(如MySQL)报「不能在同一张表上同时执行SELECT和UPDATE操作」的错误。
方法2:可视化工具手动操作(适合不熟悉SQL的用户)
- 先执行查询语句
SELECT date_email2 FROM 你的表名 WHERE id = 18458,复制查询出来的date_email2字段的具体值 - 再执行更新语句,替换语句中的
对应值为你刚才复制的内容:
UPDATE 你的表名 SET date_email2 = '对应值' WHERE id IN (18460, 18468);
注意事项
操作前建议先执行查询SELECT * FROM 你的表名 WHERE id IN (18460, 18468)确认需要更新的行范围正确,避免误改数据。
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

