Loading... # 场景 更新以AA_开头的数据结果集,使其本身数据变更。 比如说表是这样的 | id | title| content | | --- | --- | --- | | 1 | AA_ | HELLO | | 2 | AA_ | WORLD | | 3 | AB_ | Zunmx | | 4 | AC_ | MySQL | | 5 | AA_ | Lab | | 6 | BB_ | HaHaHa~ | 我最终想要让这张表编程这样 | id | title| content | | --- | --- | --- | | 1 | zunmx_ | HELLO | | 2 | zunmx_ | WORLD | | 3 | AB_ | Zunmx | | 4 | AC_ | MySQL | | 5 | zunmx_ | Lab | | 6 | BB_ | HaHaHa~ | # SQL ![1](https://www.zunmx.top/usr/uploads/2023/03/24459045.png) ```sql UPDATE t2t a inner join( select id,title from t2t where title like 'AA_%' )b ON a.id = b.id set a.title = 'zunmx_' ``` ![2](https://www.zunmx.top/usr/uploads/2023/03/1306139397.png) ![3](https://www.zunmx.top/usr/uploads/2023/03/1273784860.png) 如果需要借用原来的结果,则需要吧set中的'zunmx_'放到b表中(也就是临时表),正如下段SQL中的期望结果, 比如说需要截取一部分,删除前几个字符,替换操作等等吧。 ```sql UPDATE 源表 INNER JOIN ( SELECT id, 要修改的字段, 期望结果 as new FROM 源表 WHERE 条件 AND `要修改的字段` LIKE '匹配规则' ) 临时表 ON 原表.id = 临时表.id SET 源表.要修改的字段 = 临时表.new ``` © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏